|
Scrambler
1
|
Module for solving Poisson's equation. More...
Collaboration diagram for Poisson:Public Member Functions | |
| subroutine | PoissonVectorGetBoxValues (n, Info, EllipticLevelObject) |
| Routine for extracting solution from lhs vector. | |
| subroutine | ApplyAnalyticBC (Info, rmbc) |
| Applies analytic boundary conditions where necessary. | |
| subroutine | FFTSOLVE (Info) |
Initialization routines | |
| subroutine | Poisson_Init (EllipticObject) |
| Initializes/Reads in variables needed by Poisson Module and sets up EllipticObject. | |
Communication routines | |
| subroutine | PoissonPreSolveComm (n, done_solving) |
| Performs communications needed before first solve. | |
| subroutine | PoissonBetweenSolveComm (n, done_solving) |
| Performs communication in between solves. | |
| subroutine | PoissonPostSolveComm (n) |
| Performs communication post solves. | |
Poisson Level Operations | |
| subroutine | Poisson_Setup (n, EllipticLevelObject) |
| Loops over grids setting matrix values for poisson equation. | |
| subroutine | Poisson_LoadVectors (n, EllipticLevelObject) |
| Loops over grids setting vector values. | |
| subroutine | Poisson_UnLoadVectors (n, EllipticLevelObject) |
| Loops over grids retrieving vector values. | |
| subroutine | PoissonSetBC (n) |
| Sets boundary values for calculating source terms. | |
| subroutine | PoissonPostElliptic (n) |
| Post Elliptic routines. | |
| subroutine | UpdatePhiAtBoundaries (n) |
| Updates phi with analytic solution at boundaries prior to solving. | |
| subroutine | SelfGravCorrection (info) |
| Corrects momentum and energy sources to use time centered phi. | |
Poisson Info Operations | |
| subroutine | PoissonMatrixSetBoxValues (n, Info, EllipticLevelObject) |
| Routine for setting up matrixboxvalues for given info structure. Matrix handle stored in EllipticLevelObjectmatrix. | |
| subroutine | PoissonVectorSetBoxValues (n, Info, EllipticLevelObject) |
| Routine for setting up lhs and rhs vectors for given info structure. | |
| subroutine | PoissonGetMaxSpeed (Info) |
| Self Gravity Source routine. | |
| subroutine | ApplyPoissonPhysicalBC (Info, rmbc) |
| Applies physical boundary conditions where necessary. | |
Miscellaneous routines | |
| subroutine | Checkmthbc (mthbc) |
| subroutine | MirrorPhiGhost (dim, edge, start, nCells, Info) |
| subroutine | SelfGravCorrections (n) |
Public Attributes | |
| INTEGER, dimension(:,:), allocatable | offsets |
| INTEGER, dimension(:), allocatable | StencilValues |
| INTEGER, dimension(:), allocatable | iEntries |
| INTEGER, dimension(3, 2) | Poisson_mthbc |
| REAL(KIND=qPREC) | PoissonScale |
| INTEGER, parameter, public | ZEROSLOPE = 0 |
| INTEGER, parameter, public | REFLECTING = 1 |
| INTEGER, parameter, public | PERIODIC = 2 |
| INTEGER, parameter, public | MULTIPOLE_EXPANSION = 3 |
| INTEGER, parameter, public | USERSPECIFIED = 4 |
| LOGICAL, dimension(3) | lPoissonPeriodic |
| INTEGER | UpdateFreq = 1 |
Module for solving Poisson's equation.
Definition at line 39 of file poisson.f90.
| subroutine Poisson_Init | ( | TYPE(EllipticObjectDef) | EllipticObject | ) |
Initializes/Reads in variables needed by Poisson Module and sets up EllipticObject.
Definition at line 66 of file poisson.f90.
| subroutine PoissonPreSolveComm | ( | INTEGER | n, |
| LOGICAL | done_solving | ||
| ) |
Performs communications needed before first solve.
| n | level |
| done_solving | Logical flag that determines whether a solve needs to be performed |
Definition at line 138 of file poisson.f90.
| subroutine PoissonBetweenSolveComm | ( | INTEGER | n, |
| LOGICAL | done_solving | ||
| ) |
Performs communication in between solves.
| n | level |
| done_solving | Logical flag that determines whether a solve needs to be performed |
Definition at line 148 of file poisson.f90.
| subroutine PoissonPostSolveComm | ( | INTEGER | n | ) |
| subroutine Poisson_Setup | ( | INTEGER | n, |
| TYPE(EllipticLevelObjectDef) | EllipticLevelObject | ||
| ) |
Loops over grids setting matrix values for poisson equation.
| n | level |
| EllipticLevelObject | handle to Elliptic Level Object |
Definition at line 176 of file poisson.f90.
| subroutine Poisson_LoadVectors | ( | INTEGER | n, |
| TYPE(EllipticLevelObjectDef) | EllipticLevelObject | ||
| ) |
Loops over grids setting vector values.
| n | level |
| EllipticLevelObject | handle to Elliptic Level Object |
Definition at line 192 of file poisson.f90.
| subroutine Poisson_UnLoadVectors | ( | INTEGER | n, |
| TYPE(EllipticLevelObjectDef) | EllipticLevelObject | ||
| ) |
Loops over grids retrieving vector values.
| n | level |
| EllipticLevelObject | handle to Elliptic Level Object |
Definition at line 208 of file poisson.f90.
| subroutine PoissonSetBC | ( | INTEGER | n | ) |
Sets boundary values for calculating source terms.
| n | level |
Definition at line 225 of file poisson.f90.
| subroutine PoissonPostElliptic | ( | INTEGER | n | ) |
| subroutine UpdatePhiAtBoundaries | ( | INTEGER | n | ) |
Updates phi with analytic solution at boundaries prior to solving.
| n | level |
Definition at line 269 of file poisson.f90.
| subroutine SelfGravCorrection | ( | TYPE(InfoDef) | info | ) |
Corrects momentum and energy sources to use time centered phi.
Definition at line 282 of file poisson.f90.
| subroutine PoissonMatrixSetBoxValues | ( | INTEGER | n, |
| TYPE(InfoDef) | Info, | ||
| TYPE(EllipticLevelObjectDef) | EllipticLevelObject | ||
| ) |
Routine for setting up matrixboxvalues for given info structure. Matrix handle stored in EllipticLevelObjectmatrix.
| n | level |
| Info | Info object |
| EllipticLevelObject | Elliptic Level Object |
Definition at line 471 of file poisson.f90.
| subroutine PoissonVectorSetBoxValues | ( | INTEGER | n, |
| TYPE(InfoDef) | Info, | ||
| TYPE(EllipticLevelObjectDef) | EllipticLevelObject | ||
| ) |
Routine for setting up lhs and rhs vectors for given info structure.
| n | level |
| Info | Info object |
| EllipticLevelObject | Elliptic Level Object |
Vector handles stored in EllipticLevelObjectSolutionVector and EllipticLevelObjectVariableVector
Definition at line 545 of file poisson.f90.
| subroutine PoissonVectorGetBoxValues | ( | INTEGER | n, |
| TYPE(InfoDef) | Info, | ||
| TYPE(EllipticLevelObjectDef) | EllipticLevelObject | ||
| ) |
Routine for extracting solution from lhs vector.
| n | level |
| Info | Info object |
| EllipticLevelObject | Elliptic Level Object |
Handle stored in EllipticLevelObjectSolutionVector
Definition at line 653 of file poisson.f90.
| subroutine PoissonGetMaxSpeed | ( | TYPE(InfoDef) | Info | ) |
Self Gravity Source routine.
| Info | Info Object |
Definition at line 688 of file poisson.f90.
| subroutine ApplyAnalyticBC | ( | TYPE (InfoDef) | Info, |
| INTEGER | rmbc | ||
| ) |
Applies analytic boundary conditions where necessary.
| Info | Info object |
Definition at line 716 of file poisson.f90.
| subroutine ApplyPoissonPhysicalBC | ( | TYPE (InfoDef) | Info, |
| INTEGER | rmbc | ||
| ) |
Applies physical boundary conditions where necessary.
| Info | Info object |
Definition at line 753 of file poisson.f90.
| subroutine Checkmthbc | ( | INTEGER, dimension(:,:) | mthbc | ) |
Definition at line 784 of file poisson.f90.
| subroutine MirrorPhiGhost | ( | INTEGER | dim, |
| INTEGER | edge, | ||
| INTEGER | start, | ||
| INTEGER | nCells, | ||
| TYPE(InfoDef) | Info | ||
| ) |
Definition at line 811 of file poisson.f90.
| subroutine SelfGravCorrections | ( | INTEGER | n | ) |
Definition at line 843 of file poisson.f90.
| subroutine FFTSOLVE | ( | TYPE(InfoDef) | Info | ) |
Definition at line 859 of file poisson.f90.
| INTEGER, dimension(:,:), allocatable offsets |
Definition at line 48 of file poisson.f90.
| INTEGER, dimension(:), allocatable StencilValues |
Definition at line 49 of file poisson.f90.
| INTEGER, dimension(:), allocatable iEntries |
Definition at line 50 of file poisson.f90.
| INTEGER, dimension(3,2) Poisson_mthbc |
Definition at line 51 of file poisson.f90.
| REAL(KIND=qPREC) PoissonScale |
Definition at line 52 of file poisson.f90.
| INTEGER, parameter, public ZEROSLOPE = 0 |
Definition at line 53 of file poisson.f90.
| INTEGER, parameter, public REFLECTING = 1 |
Definition at line 53 of file poisson.f90.
| INTEGER, parameter, public PERIODIC = 2 |
Definition at line 53 of file poisson.f90.
| INTEGER, parameter, public MULTIPOLE_EXPANSION = 3 |
Definition at line 53 of file poisson.f90.
| INTEGER, parameter, public USERSPECIFIED = 4 |
Definition at line 53 of file poisson.f90.
| LOGICAL, dimension(3) lPoissonPeriodic |
Definition at line 54 of file poisson.f90.
| INTEGER UpdateFreq = 1 |
Definition at line 55 of file poisson.f90.