initBDEIntegrator Module Subroutine

module subroutine initBDEIntegrator(this, indexingObj, procRank, nonlinTol, absTol, maxIters, convergenceIndices, modelList, termGroups, evolvesTimeVar, dtController, initialTimestep, use2Norm, petscGroup, intContOptions, integratorName)

BDE integrator constructor

Arguments

Type IntentOptional Attributes Name
class(PicardBDEIntegrator), intent(inout) :: this
type(Indexing), intent(in) :: indexingObj

Indexing object to be used in initializing the implicit vectors

integer(kind=ik), intent(in) :: procRank

Rank of current processors

real(kind=rk), intent(in), optional :: nonlinTol

Picard iteration relative tolerance

real(kind=rk), intent(in), optional :: absTol

Picard iteration absolute tolerance in epsilon units

integer(kind=ik), intent(in), optional :: maxIters

Maximum number of Picard iterations

integer(kind=ik), intent(in), optional, dimension(:) :: convergenceIndices

Variable indices in VariableContainer used to determine convergence of Picard iterations

integer(kind=ik), intent(in), optional, dimension(:) :: modelList

List of models this integrator is responsible for

type(IntArray), intent(in), optional, dimension(:) :: termGroups

Term groups this integrator is responsible for - should conform with modelList

logical, intent(in), optional :: evolvesTimeVar

Set to true if this integrator is allowed to change the "time" varible (if present in passed variable container)

class(TimestepController), intent(in), optional :: dtController

User-supplied timestep controller object

real(kind=rk), intent(in), optional :: initialTimestep

Default timestep

logical, intent(in), optional :: use2Norm

Set to true if this integrator uses the 2-norm instead of the local inf-norm for checking individual variable convergence

integer(kind=ik), intent(in), optional :: petscGroup

PETSc obj group this solver should interact with (defaults to 1)

type(InternalControllerOptions), intent(in), optional :: intContOptions

InternalControlOptions (if present turns on internal control)

character(len=*), intent(in), optional :: integratorName

Name of integrator used in printing