Scrambler  1
Poisson Module Reference

Module for solving Poisson's equation. More...

+ Collaboration diagram for Poisson:

List of all members.

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

Detailed Description

Module for solving Poisson's equation.

Definition at line 39 of file poisson.f90.


Member Function/Subroutine Documentation

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.

Parameters:
nlevel
done_solvingLogical 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.

Parameters:
nlevel
done_solvingLogical flag that determines whether a solve needs to be performed

Definition at line 148 of file poisson.f90.

subroutine PoissonPostSolveComm ( INTEGER  n)

Performs communication post solves.

Parameters:
nlevel

Definition at line 159 of file poisson.f90.

subroutine Poisson_Setup ( INTEGER  n,
TYPE(EllipticLevelObjectDef)  EllipticLevelObject 
)

Loops over grids setting matrix values for poisson equation.

Parameters:
nlevel
EllipticLevelObjecthandle 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.

Parameters:
nlevel
EllipticLevelObjecthandle 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.

Parameters:
nlevel
EllipticLevelObjecthandle to Elliptic Level Object

Definition at line 208 of file poisson.f90.

subroutine PoissonSetBC ( INTEGER  n)

Sets boundary values for calculating source terms.

Parameters:
nlevel

Definition at line 225 of file poisson.f90.

subroutine PoissonPostElliptic ( INTEGER  n)

Post Elliptic routines.

Parameters:
nlevel

Definition at line 242 of file poisson.f90.

subroutine UpdatePhiAtBoundaries ( INTEGER  n)

Updates phi with analytic solution at boundaries prior to solving.

Parameters:
nlevel

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.

Parameters:
nlevel
InfoInfo object
EllipticLevelObjectElliptic 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.

Parameters:
nlevel
InfoInfo object
EllipticLevelObjectElliptic 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.

Parameters:
nlevel
InfoInfo object
EllipticLevelObjectElliptic Level Object

Handle stored in EllipticLevelObjectSolutionVector

Definition at line 653 of file poisson.f90.

subroutine PoissonGetMaxSpeed ( TYPE(InfoDef)  Info)

Self Gravity Source routine.

Parameters:
InfoInfo Object

Definition at line 688 of file poisson.f90.

subroutine ApplyAnalyticBC ( TYPE (InfoDef)  Info,
INTEGER  rmbc 
)

Applies analytic boundary conditions where necessary.

Parameters:
InfoInfo object

Definition at line 716 of file poisson.f90.

subroutine ApplyPoissonPhysicalBC ( TYPE (InfoDef)  Info,
INTEGER  rmbc 
)

Applies physical boundary conditions where necessary.

Parameters:
InfoInfo 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.


Member Data Documentation

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.


The documentation for this module was generated from the following file:
 All Classes Files Functions Variables