Contains module procedures associated with the modelbound logical boundary condition data class
Calculate fixed component of Pll tensor
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=ik), | intent(in) | :: | maxL |
Get data dimensionality - will return 0 for scalars
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ModelboundLBCData), | intent(in) | :: | this | |||
character(len=*), | intent(in) | :: | name |
Name of data |
Calculate moment of single local harmonic with interpolated grid points near cut-off
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ModelboundLBCData), | intent(inout) | :: | this | |||
integer(kind=ik), | intent(in) | :: | order | |||
real(kind=rk), | intent(in), | dimension(:) | :: | f |
Calculate lNum harmonic at boundary (assuming m=0) using Pll tensor and interpolation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ModelboundLBCData), | intent(inout) | :: | this | |||
integer(kind=ik), | intent(in) | :: | lNum |
Getter for the cut-off cell coordinate
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ModelboundLBCData), | intent(in) | :: | this |
Getter for the cut-off (lNum,:,:) decomposition tensor
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ModelboundLBCData), | intent(in) | :: | this | |||
integer(kind=ik), | intent(in) | :: | lNum |
Getter for the interpolated cut-off cell coordinates
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ModelboundLBCData), | intent(in) | :: | this |
Getter for the interpolated cut-off cell widths
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ModelboundLBCData), | intent(in) | :: | this |
Getter for the interpolation coefficients
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ModelboundLBCData), | intent(in) | :: | this |
Varlike modelbound data initialization routine
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ModelboundLBCData), | intent(inout) | :: | this | |||
type(VSpace), | intent(in) | :: | vSpaceObj |
Velocity space object used to get grid data |
||
class(MatDerivation), | intent(in) | :: | distExtDerivation |
Extrapolated distribution derivation object |
||
integer(kind=ik), | intent(in), | dimension(:) | :: | distExtReqVarIndices |
Required variable indices for the distribution derivation |
|
integer(kind=ik), | intent(in) | :: | ionCurrentVarIndex |
Scalar variable index representing ion current at boundary |
||
logical, | intent(in) | :: | isActive |
True if the modelbound data should be updated (use to avoid updates on processors with no boundary) |
||
integer(kind=ik), | intent(in), | optional | :: | totalCurrentVarIndex |
Scalar variable index representing total current through boundary. Defaults to 0 current. |
|
real(kind=rk), | intent(in), | optional | :: | bisTol |
Bisection tolerance for false position method used to calculate cut-off velocity. Defaults to 1e-12 |
|
logical, | intent(in), | optional | :: | isLeftBoundary |
True if boundary this data refers to is the left boundary. Defaults to false. |
Update modelbound data based on input variable container
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ModelboundLBCData), | intent(inout) | :: | this | |||
class(ModelSurrogate), | intent(in) | :: | hostModel |
Host model - unused |
||
class(VariableContainer), | intent(in) | :: | inputVars |
Variable container used to calculate modelbound data |
||
integer(kind=ik), | intent(in), | optional | :: | updatePriority |
Priority for this update call (determines which variables are updated) - unused here |
Copy named modelbound data to passed container.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ModelboundLBCData), | intent(in) | :: | this | |||
character(len=*), | intent(in) | :: | name |
Name of data |
||
real(kind=rk), | intent(inout), | allocatable, dimension(..) | :: | container |
Container to copy into |
Calculate full Pll tensor based on modelbound data
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ModelboundLBCData), | intent(inout) | :: | this | |||
integer(kind=ik), | intent(in), | optional, | dimension(:) | :: | rowsToUpdate |
Calculate interpolation quantities based on modelbound data
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ModelboundLBCData), | intent(inout) | :: | this |
Calculate cut-off cell and velocity based on modelbound data and currents
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ModelboundLBCData), | intent(inout) | :: | this | |||
real(kind=rk), | intent(in) | :: | ionCurrent |
ion current into sheath |
||
real(kind=rk), | intent(in) | :: | totalCurrent |
total current into sheath to be matched |