EllSOR provides 3D elliptic solvers for the various classes of elliptic problems defined in EllBase. EllSOR is based on the successive over relaxation algorithm. It is called by the interfaces provided in EllBase.
The purpose of this thorn is to provide a simple and straightforward 3D elliptic solver: not to be used by production but to demonstrate key features of the elliptic infrastructure.
This thorn provides
No Pizza
No Wine
peace
This thorn supports three elliptic problem classes: LinFlat for a standard 3D cartesian Laplace operator, using the standard 7-point computational molecule. LinMetric for a Laplace operator derived from the metric, using 19-point stencil. LinConfMetric for a Laplace operator derived from the metric and a conformal factor, using a 19-point stencil. The code of the solvers differs for the classes and is explained in the following section.
In general, a stencil variable needs to be set for each of the direction relative to the central gridpoint. These variables are called ac, ae, aw, an, as, at, ab, ane, anw, ase, asw, ate, atw, abe, abw, atn, ats, abn, asb, where “ac” = a-central, “t” = top, “b” = bottom, “n,s,w,e” = north, south, west, east
For this class we employ the the 7-point stencil based on at,ab, aw, ae, an, as only. These values are constant at each gridpoint.
For this class the standard 19-point stencil is initialized, taken the underlying metric into account. The values for the stencil function differ at each gridpoints.
For this class the standard 19-point stencil is initialized, taken the underlying metric and its conformal factor into account. The values for the stencil function differ at each gridpoints.
The sizes of the arrays Mlinear for the coefficient matrix and Nsource are passed in the solver. A storage flag is set if these variables are of a sized greater 1. In this case, the array can be accessed.
elliptic_verbose | Scope: shared from ELLBASE | KEYWORD |
Implements:
ellsor
Inherits:
ellbase
boundary
Uses header:
EllBase.h
Ell_DBstructure.h
Boundary.h
Symmetry.h
This section lists all the variables which are assigned storage by thorn CactusElliptic/EllSOR. Storage can either last for the duration of the run (Always means that if this thorn is activated storage will be assigned, Conditional means that if this thorn is activated storage will be assigned for the duration of the run if some condition is met), or can be turned on for the duration of a schedule function.
NONE
CCTK_BASEGRID
ellsor_register
register the sor solvers
Language: | c | |
Type: | function | |