poisson_multigrid
Module
Description
$Id$
Quick access
- Variables:
apply_boundcond,b,bessel_grid,bsmooth,calc_potential,check_setup,compute_acceleration,construct_large_grid,copy_density_large_grid,copy_potential_small_grid,coslt,decide_fourier_routine,dkr,dphi,dr,dr1,dth,dth1,du,dxc1,dxlt,dyc1,dz1,fft_fouriergrid,fourier_cosine_terms,fourier_to_physical_proc,fourier_to_physical_procs,gauss_seidel_iterate,generate_coordinates,generate_fourier_density,generate_kernals,generate_massfields,get_communication_matrix,gnewton,gphi,gr,innerradius,inverse_laplacian_expandgrid,inverse_laplacian_fft,inverse_laplacian_isoz,inverse_laplacian_logradial_fft,ipoisson_method,iproc_fourier,ipx_fourier,ipy_fourier,iregion,irl,iroot,iru,iteration_threshold,ixlower_fourier,ixupper_fourier,iylower_fourier,iyupper_fourier,jrl,jru,kkx_fft,kky_fft,kphi,kphi_fft_imag,kphi_fft_real,kr_fft,kr_fft_imag,kr_fft_real,krl,kru,legendre_qmod,lexpand_grid,lisoz,lklimit_shear,lkmax,lkmin,lmakecartoon,lnorepeatsumming,lprecalcdists,lrazor_thin,lreadoctree,lsemispectral,lshowtime,lsolve_bessel,lsolve_cyl2cart,lsolve_relax_sor,lsquareregions,ltreestatus,luseprevioussum,lwriteoctree,m_fft,mmax,ngroup,niter_poisson,nkhgrid,nkr,nkt,nktgrid,nlt,nnx,nny,nprecalc,nsingle,nslice,nth,nthgrid,octree_maxdist,octree_smoothdist,octree_theta,phi2d,phi2d_global,phi_previous_step,physical_to_fourier_proc,physical_to_fourier_procs,r2_ext,r2_int,rad1,refine,regdist1_group,regdist1_single,regsmooth_group,regsmooth_single,remap_to_pencil_fouriergrid,residual,restrict,rhs_previous_step,rjac,rn,sinlt,smooth_full_weight,sphi,sphi_fft_imag,sphi_fft_real,sqrtrad_1,sr,sr_fft_imag,sr_fft_real,stop_fatal,themap_group,themap_single,theta0,theta1,tht,transp_pencil_fouriergrid,trilinear_interpolate,u2d,u2d_global,unmap_from_pencil_fouriergrid,v_cycle,vols,xc0,xlt,xmesh,xrecv,yc0,ymesh,yrecv,zed,zmesh,zrecv- Routines:
calculate_cross_bessel_functions(),calculate_cross_legendre_functions(),do_barneshut(),five_point_solver(),get_acceleration(),get_border_values(),get_dist(),get_serial_array(),initialize_poisson(),integrate_border(),inverse_laplacian(),inverse_laplacian_bessel(),inverse_laplacian_cyl2cart(),inverse_laplacian_fft_z(),inverse_laplacian_semispectral(),inverse_laplacian_sor(),inverse_laplacian_z_2nd_neumann(),mkmap(),read_octree(),read_poisson_init_pars(),read_poisson_run_pars(),roundtwo(),sincoslf(),write_octree(),write_poisson_init_pars(),write_poisson_run_pars()
Needed modules
cdata: $Id$general(keep_compiler_quiet()): $Id$messages: $Id$
Variables
- poisson/apply_boundcond [private]
- poisson/dummy [real,private/optional/default=0.0]
- poisson/gauss_seidel_iterate [private]
- poisson/niter_poisson [integer,private/optional/default=30]
- poisson/refine [private]
- poisson/residual [private]
- poisson/restrict [private]
- poisson/smooth_full_weight [private]
- poisson/trilinear_interpolate [private]
- poisson/v_cycle [private]
Subroutines and functions
- subroutine poisson/initialize_poisson()
Perform any post-parameter-read initialization i.e. calculate derived parameters.
18-oct-07/anders: adapted
- Called from:
- Call to:
- subroutine poisson/inverse_laplacian(phi)
- Solve the Poisson (or inhomogeneous Helmholtz) equation
(Laplace - h) f = rhs
using a multigrid approach. On entry, phi is rhs, on exit phi contains the solution f.
18-may-2007/wolf: adapted from IDL prototype
- Parameters:
- Called from:
register_density(),initialize_density(),init_lnrho(),density_before_boundary(),pencil_criteria_density(),pencil_interdep_density(),density_after_boundary(),dlnrho_dt(),impose_density_floor(),read_density_init_pars(),write_density_init_pars(),read_density_run_pars(),write_density_run_pars(),rprint_density(),get_slices_density(),get_slices_pressure(),get_init_average_density(),calc_pencils_density(),initialize_power_spectrum(),read_power_spectrum_run_pars(),write_power_spectrum_run_pars(),power(),crossspec(),power_2d(),power_xy(),powerhel(),powerlor(),poweromu(),poweremf(),powertra(),powergws(),powerscl(),register_selfgravity(),initialize_selfgravity(),pencil_criteria_selfgravity(),pencil_interdep_selfgravity(),calc_pencils_selfgravity(),calc_selfpotential(),anelastic_after_mn()- Call to:
- subroutine poisson/inverse_laplacian_semispectral(phi[, h])
Solve the Poisson equation by Fourier transforming in the xy-plane and solving the discrete matrix equation in the z-direction.
- Parameters:
- Call to:
- subroutine poisson/inverse_laplacian_fft_z(phi)
15-may-2006/anders+jeff: dummy
- subroutine poisson/inverse_laplacian_z_2nd_neumann(f)
15-may-2006/anders+jeff: dummy
- Parameters:
f (,,*,*) [real,in]
- subroutine poisson/read_poisson_init_pars(iomsg)
- Parameters:
iomsg [character,out]
- Use :
- subroutine poisson/write_poisson_init_pars(unit)
- Parameters:
unit [integer,in]
- Called from:
get_datadir(),get_snapdir(),read_all_init_pars(),read_all_run_pars(),get_downpars()
- subroutine poisson/read_poisson_run_pars(iomsg)
- Parameters:
iomsg [character,out]
- Use :
- subroutine poisson/write_poisson_run_pars(unit)
- Parameters:
unit [integer,in]
- Called from:
get_datadir(),get_snapdir(),read_all_init_pars(),read_all_run_pars(),get_downpars()
- subroutine poisson/get_acceleration(acceleration)
- Parameters:
acceleration (nx,ny,nz,3) [real,out] :: should I (CAN I?) make this allocatable?
- Called from:
register_selfgravity(),initialize_selfgravity(),pencil_criteria_selfgravity(),pencil_interdep_selfgravity(),calc_pencils_selfgravity(),calc_selfpotential()