This module provides the MUSUBI specific functions for calculating macroscopic quantities from the state variables for multispecies liquid model.
The depending common interface between MUSUBI and ATELES is defined in the tem_derived_module. The functionality for accessing a variable from the state and evaluating a lua function are also provided in the tem_derived_module.
Do not use get_Element or get_Point routines to update the state !
aotus_module | w | mus_derQuanMSLiquid_module | |
w | |||
env_module | w | ||
w | |||
iso_c_binding | w | ||
w | |||
mus_derVarPos_module | w | ||
w | |||
mus_eNRTL_module | w | ||
w | |||
mus_operation_var_module | w | ||
w | |||
mus_pdf_module | w | ||
w | |||
mus_physics_module | w | ||
w | |||
mus_scheme_derived_quantities_module | w | ||
w | |||
mus_scheme_header_module | w | ||
w | |||
mus_scheme_layout_module | w | ||
w | |||
mus_scheme_type_module | w | ||
w | |||
mus_source_type_module | w | ||
w | |||
mus_stateVar_module | w | ||
w | |||
mus_varSys_module | w | ||
w | |||
tem_aux_module | w | ||
w | |||
tem_debug_module | w | ||
w | |||
tem_dyn_array_module | w | ||
w | |||
tem_grow_array_module | w | ||
w | |||
tem_logging_module | w | ||
w | |||
tem_math_module | w | ||
w | |||
tem_operation_var_module | w | ||
w | |||
tem_param_module | w | ||
w | |||
tem_spacetime_fun_module | w | ||
w | |||
tem_spatial_module | w | ||
w | |||
tem_stencil_module | w | ||
w | |||
tem_subTree_type_module | w | ||
w | |||
tem_time_module | w | ||
w | |||
tem_tools_module | w | ||
w | |||
tem_topology_module | w | ||
w | |||
tem_variable_module | w | ||
w | |||
tem_varSys_module | w | ||
w | |||
treelmesh_module | w | ||
w |
derive untransformed pdf velocity of species by solving system of equations of nSpecies
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | moleFraction(nFields) |
molefraction of all species |
||
real(kind=rk), | intent(in) | :: | first_Moments(3,nFields) |
momentum from transformed pdf of all species |
||
integer, | intent(in) | :: | nFields |
number of species |
||
real(kind=rk), | intent(in) | :: | phi(nFields) |
molecular weight ratio of all species |
||
real(kind=rk), | intent(in) | :: | resi_coeff(nFields,nFields) |
resistivity coefficients |
||
real(kind=rk), | intent(in) | :: | omega_fac |
relaxation parameter, omega_diff*0.5_rk |
||
real(kind=rk), | intent(in) | :: | paramBInv |
free parameter B |
return actual momentum
derive untransformed pdf velocity of species by solving system of equations of nSpecies
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | moleFraction(nFields) |
molefraction of all species |
||
real(kind=rk), | intent(in) | :: | first_Moments(3,nFields) |
momentum from transformed pdf of all species |
||
integer, | intent(in) | :: | nFields |
number of species |
||
real(kind=rk), | intent(in) | :: | inv_thermodyn_fac(nFields,nFields) |
inverse of thermodynamic factor |
||
real(kind=rk), | intent(in) | :: | phi(nFields) |
molecular weight ratio of all species |
||
real(kind=rk), | intent(in) | :: | resi_coeff(nFields,nFields) |
resistivity coefficients |
||
real(kind=rk), | intent(in) | :: | omega_fac |
relaxation parameter, omega_diff*0.5_rk |
||
real(kind=rk), | intent(in) | :: | paramBInv |
free parameter B |
return actual momentum
Equlibrium velocity from macro
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | iField |
current field |
||
real(kind=rk), | intent(in) | :: | moleFraction(nFields) |
mole fraction of all species |
||
real(kind=rk), | intent(in) | :: | velocity(3,nFields) |
velocity of all species |
||
integer, | intent(in) | :: | nFields |
number of species |
||
real(kind=rk), | intent(in) | :: | paramBInv |
free parameter B |
||
real(kind=rk), | intent(in) | :: | phi |
molecular weight ratio of iField |
||
real(kind=rk), | intent(in) | :: | resi_coeff(nFields) |
resistivity coefficients of iField |
return equilibrium velocity
Equlibrium velocity from macro with thermodynamic factor
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | iField |
current field |
||
real(kind=rk), | intent(in) | :: | mass_dens(nFields) |
mass density of all species |
||
real(kind=rk), | intent(in) | :: | moleFraction(nFields) |
mole fraction of all species |
||
real(kind=rk), | intent(in) | :: | velocity(3,nFields) |
velocity of all species |
||
integer, | intent(in) | :: | nFields |
number of species |
||
real(kind=rk), | intent(in) | :: | inv_thermodyn_fac(nFields,nFields) |
inverse of thermodynamic factor |
||
real(kind=rk), | intent(in) | :: | paramBInv |
free parameter B |
||
real(kind=rk), | intent(in) | :: | phi(nFields) |
molecular weight ratio |
||
real(kind=rk), | intent(in) | :: | resi_coeff(nFields,nFields) |
resistivity coefficients |
return equilibrium velocity
derive equilibrium from macro
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | iField |
current field |
||
real(kind=rk), | intent(in) | :: | mass_dens(nFields) |
mass density of all species |
||
real(kind=rk), | intent(in) | :: | moleFraction(nFields) |
molefraction of all species |
||
real(kind=rk), | intent(in) | :: | velocity(3,nFields) |
velocity of all species |
||
type(mus_scheme_layout_type), | intent(in) | :: | layout |
scheme layout contains stencil definition and lattice weight |
||
integer, | intent(in) | :: | nFields |
number of species |
||
real(kind=rk), | intent(in) | :: | phi |
molecular weight ratio of iField |
||
real(kind=rk), | intent(in) | :: | paramBInv |
free parameter B |
||
real(kind=rk), | intent(in) | :: | resi_coeff(nFields) |
resistivity coefficients |
||
real(kind=rk), | intent(in) | :: | theta_eq |
parameter to tune mixture velocity in equilibrium quadratic term |
return equilibrium
derive equilibrium from macro
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | iField |
current field |
||
real(kind=rk), | intent(in) | :: | mass_dens(nFields) |
mass density of all species |
||
real(kind=rk), | intent(in) | :: | moleFraction(nFields) |
molefraction of all species |
||
real(kind=rk), | intent(in) | :: | velocity(3,nFields) |
velocity of all species |
||
real(kind=rk), | intent(in) | :: | inv_thermodyn_fac(nFields,nFields) |
inverse of thermodynamic factor |
||
type(mus_scheme_layout_type), | intent(in) | :: | layout |
scheme layout contains stencil definition and lattice weight |
||
integer, | intent(in) | :: | nFields |
number of species |
||
real(kind=rk), | intent(in) | :: | phi(nFields) |
molecular weight ratio of iField |
||
real(kind=rk), | intent(in) | :: | paramBInv |
free parameter B |
||
real(kind=rk), | intent(in) | :: | resi_coeff(nFields,nFields) |
resistivity coefficients |
||
real(kind=rk), | intent(in) | :: | theta_eq |
parameter to tune mixture velocity in equilibrium quadratic term |
return equilibrium
subroutine to add derive variables for multispecies-liquid (schemekind = 'multispecies_liquid') to the varsys.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_varSys_type), | intent(inout) | :: | varSys |
global variable system |
||
type(mus_varSys_solverData_type), | intent(in), | target | :: | solverData |
Contains pointer to solver data types |
|
type(mus_scheme_header_type), | intent(in) | :: | schemeHeader |
identifier of the scheme |
||
type(tem_stencilHeader_type), | intent(in) | :: | stencil |
compute stencil defintion |
||
integer, | intent(in) | :: | nFields |
number of fields |
||
character(len=*), | intent(in) | :: | fldLabel(:) |
array of field label prefix. Size=nFields |
||
type(grw_labelarray_type), | intent(inout) | :: | derVarName |
array of derive physical variables |
Append mixture variables for multicomponent models
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_varSys_type), | intent(inout) | :: | varSys |
global variable system |
||
type(mus_varSys_solverData_type), | intent(in), | target | :: | solverData |
Contains pointer to solver data types |
|
integer, | intent(in) | :: | nFields |
number of fields |
||
character(len=*), | intent(in) | :: | fldLabel(:) |
array of field label prefix. Size=nFields |
||
type(grw_labelarray_type), | intent(in) | :: | derVarName |
array of derive physical variable |
Calculate the number density of a given element for single species from the density stored in auxField array. Mixture number density is computed by summing species number density using tem_evalAdd_forElement Number density = density/molecular weight mixture number density = sum(number_density)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun |
Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
The variable system to obtain the variable from. |
||
integer, | intent(in) | :: | elempos(:) |
Position of the TreeID of the element to get the variable for in the global treeID list. |
||
type(tem_time_type), | intent(in) | :: | time |
Point in time at which to evaluate the variable. |
||
type(treelmesh_type), | intent(in) | :: | tree |
global treelm mesh info |
||
integer, | intent(in) | :: | nElems |
Number of values to obtain for this variable (vectorized access). |
||
integer, | intent(in) | :: | nDofs |
Number of degrees of freedom within an element. |
||
real(kind=rk), | intent(out) | :: | res(:) |
Resulting values for the requested variable. |
Calculate species pressure both for gas and liquid model In case of gas mixture, it is partial pressure where as in liquid mixture this is not valid. However, it is used to compute mixture pressure and then the kinematic_pressure from the mixture pressure. Formula to calculate pressure: here, - species density, \ - species molecular weight ratio, \
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun |
Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
The variable system to obtain the variable from. |
||
integer, | intent(in) | :: | elempos(:) |
Position of the TreeID of the element to get the variable for in the global treeID list. |
||
type(tem_time_type), | intent(in) | :: | time |
Point in time at which to evaluate the variable. |
||
type(treelmesh_type), | intent(in) | :: | tree |
global treelm mesh info |
||
integer, | intent(in) | :: | nElems |
Number of values to obtain for this variable (vectorized access). |
||
integer, | intent(in) | :: | nDofs |
Number of degrees of freedom within an element. |
||
real(kind=rk), | intent(out) | :: | res(:) |
Resulting values for the requested variable. |
Calculate the velocity of a given element for single species. from the momentum and density stored in auxField array for liquid mixture. auxField was updated with momentum of untransformed PDF which was computed by solving LSE in compute kernel.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun |
Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
The variable system to obtain the variable from. |
||
integer, | intent(in) | :: | elempos(:) |
Position of the TreeID of the element to get the variable for in the global treeID list. |
||
type(tem_time_type), | intent(in) | :: | time |
Point in time at which to evaluate the variable. |
||
type(treelmesh_type), | intent(in) | :: | tree |
global treelm mesh info |
||
integer, | intent(in) | :: | nElems |
Number of values to obtain for this variable (vectorized access). |
||
integer, | intent(in) | :: | nDofs |
Number of degrees of freedom within an element. |
||
real(kind=rk), | intent(out) | :: | res(:) |
Resulting values for the requested variable. |
mole fraction from density stored in auxField
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun |
Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
The variable system to obtain the variable from. |
||
integer, | intent(in) | :: | elempos(:) |
Position of the TreeID of the element to get the variable for in the global treeID list. |
||
type(tem_time_type), | intent(in) | :: | time |
Point in time at which to evaluate the variable. |
||
type(treelmesh_type), | intent(in) | :: | tree |
global treelm mesh info |
||
integer, | intent(in) | :: | nElems |
Number of values to obtain for this variable (vectorized access). |
||
integer, | intent(in) | :: | nDofs |
Number of degrees of freedom within an element. |
||
real(kind=rk), | intent(out) | :: | res(:) |
Resulting values for the requested variable. |
mass fraction from density stored in auxField
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun |
Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
The variable system to obtain the variable from. |
||
integer, | intent(in) | :: | elempos(:) |
Position of the TreeID of the element to get the variable for in the global treeID list. |
||
type(tem_time_type), | intent(in) | :: | time |
Point in time at which to evaluate the variable. |
||
type(treelmesh_type), | intent(in) | :: | tree |
global treelm mesh info |
||
integer, | intent(in) | :: | nElems |
Number of values to obtain for this variable (vectorized access). |
||
integer, | intent(in) | :: | nDofs |
Number of degrees of freedom within an element. |
||
real(kind=rk), | intent(out) | :: | res(:) |
Resulting values for the requested variable. |
Compute mole flux from momentum stored in auxField. mole flux = numDens_i*velocity_i = momentum / molWeight
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun |
Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
The variable system to obtain the variable from. |
||
integer, | intent(in) | :: | elempos(:) |
Position of the TreeID of the element to get the variable for in the global treeID list. |
||
type(tem_time_type), | intent(in) | :: | time |
Point in time at which to evaluate the variable. |
||
type(treelmesh_type), | intent(in) | :: | tree |
global treelm mesh info |
||
integer, | intent(in) | :: | nElems |
Number of values to obtain for this variable (vectorized access). |
||
integer, | intent(in) | :: | nDofs |
Number of degrees of freedom within an element. |
||
real(kind=rk), | intent(out) | :: | res(:) |
Resulting values for the requested variable. |
Calculate mole density from species concentration for getValOfIndex
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun |
Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
The variable system to obtain the variable from. |
||
type(tem_time_type), | intent(in) | :: | time |
Point in time at which to evaluate the variable. |
||
integer, | intent(in) | :: | iLevel |
Level on which values are requested |
||
integer, | intent(in) | :: | idx(:) |
Index of points in the growing array and variable val array to return. Size: nVals |
||
integer, | intent(in), | optional | :: | idxLen(:) |
With idx as start index in contiguous memory, idxLength defines length of each contiguous memory Size: nVals |
|
integer, | intent(in) | :: | nVals |
Number of values to obtain for this variable (vectorized access). |
||
real(kind=rk), | intent(out) | :: | res(:) |
Resulting values for the requested variable. |
Calculate velocity from species density and momentum in auxField for getValOfIndex
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun |
Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
The variable system to obtain the variable from. |
||
type(tem_time_type), | intent(in) | :: | time |
Point in time at which to evaluate the variable. |
||
integer, | intent(in) | :: | iLevel |
Level on which values are requested |
||
integer, | intent(in) | :: | idx(:) |
Index of points in the growing array and variable val array to return. Size: nVals |
||
integer, | intent(in), | optional | :: | idxLen(:) |
With idx as start index in contiguous memory, idxLength defines length of each contiguous memory Size: nVals |
|
integer, | intent(in) | :: | nVals |
Number of values to obtain for this variable (vectorized access). |
||
real(kind=rk), | intent(out) | :: | res(:) |
Resulting values for the requested variable. |
Calculate mole flux from species momentum for getValOfIndex
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun |
Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
The variable system to obtain the variable from. |
||
type(tem_time_type), | intent(in) | :: | time |
Point in time at which to evaluate the variable. |
||
integer, | intent(in) | :: | iLevel |
Level on which values are requested |
||
integer, | intent(in) | :: | idx(:) |
Index of points in the growing array and variable val array to return. Size: nVals |
||
integer, | intent(in), | optional | :: | idxLen(:) |
With idx as start index in contiguous memory, idxLength defines length of each contiguous memory Size: nVals |
|
integer, | intent(in) | :: | nVals |
Number of values to obtain for this variable (vectorized access). |
||
real(kind=rk), | intent(out) | :: | res(:) |
Resulting values for the requested variable. |
Update state with source variable "electric_field" with 2nd order force integration. Refer to Appendix in PhD Thesis of K. Masilamani "Coupled Simulation Framework to Simulate Electrodialysis Process for Seawater Desalination"
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(mus_source_op_type), | intent(in) | :: | fun |
Description of method to apply source terms |
||
real(kind=rk), | intent(in) | :: | inState(:) |
input pdf vector |
||
real(kind=rk), | intent(inout) | :: | outState(:) |
output pdf vector |
||
integer, | intent(in) | :: | neigh(:) |
connectivity Array corresponding to state vector |
||
real(kind=rk), | intent(in) | :: | auxField(:) |
auxField array |
||
integer, | intent(in) | :: | nPdfSize |
number of elements in state Array |
||
integer, | intent(in) | :: | iLevel |
current level |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
variable system |
||
type(tem_time_type), | intent(in) | :: | time |
Point in time at which to evaluate the variable. |
||
type(mus_convertFac_type), | intent(in) | :: | phyConvFac |
Physics conversion factor for current level |
||
type(mus_derVarPos_type), | intent(in) | :: | derVarPos(:) |
position of derived quantities in varsys |
Update state with source variable "electric_field" Simuilar to derive routine but it updates the state whereas derive is used for tracking
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(mus_source_op_type), | intent(in) | :: | fun |
Description of method to apply source terms |
||
real(kind=rk), | intent(in) | :: | inState(:) |
input pdf vector |
||
real(kind=rk), | intent(inout) | :: | outState(:) |
output pdf vector |
||
integer, | intent(in) | :: | neigh(:) |
connectivity Array corresponding to state vector |
||
real(kind=rk), | intent(in) | :: | auxField(:) |
auxField array |
||
integer, | intent(in) | :: | nPdfSize |
number of elements in state Array |
||
integer, | intent(in) | :: | iLevel |
current level |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
variable system |
||
type(tem_time_type), | intent(in) | :: | time |
Point in time at which to evaluate the variable. |
||
type(mus_convertFac_type), | intent(in) | :: | phyConvFac |
Physics conversion factor for current level |
||
type(mus_derVarPos_type), | intent(in) | :: | derVarPos(:) |
position of derived quantities in varsys |
Update state with source variable "electric_field" with 2nd order integration of force term in LBE with thermodynamic factor Refer to Appendix in PhD Thesis of K. Masilamani "Coupled Simulation Framework to Simulate Electrodialysis Process for Seawater Desalination"
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(mus_source_op_type), | intent(in) | :: | fun |
Description of method to apply source terms |
||
real(kind=rk), | intent(in) | :: | inState(:) |
input pdf vector |
||
real(kind=rk), | intent(inout) | :: | outState(:) |
output pdf vector |
||
integer, | intent(in) | :: | neigh(:) |
connectivity Array corresponding to state vector |
||
real(kind=rk), | intent(in) | :: | auxField(:) |
auxField array |
||
integer, | intent(in) | :: | nPdfSize |
number of elements in state Array |
||
integer, | intent(in) | :: | iLevel |
current level |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
variable system |
||
type(tem_time_type), | intent(in) | :: | time |
Point in time at which to evaluate the variable. |
||
type(mus_convertFac_type), | intent(in) | :: | phyConvFac |
Physics conversion factor for current level |
||
type(mus_derVarPos_type), | intent(in) | :: | derVarPos(:) |
position of derived quantities in varsys |
Update state with source variable "electric_field" with thermodynamic factor. Simuilar to derive routine but it updates the state whereas derive is used for tracking
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(mus_source_op_type), | intent(in) | :: | fun |
Description of method to apply source terms |
||
real(kind=rk), | intent(in) | :: | inState(:) |
input pdf vector |
||
real(kind=rk), | intent(inout) | :: | outState(:) |
output pdf vector |
||
integer, | intent(in) | :: | neigh(:) |
connectivity Array corresponding to state vector |
||
real(kind=rk), | intent(in) | :: | auxField(:) |
auxField array |
||
integer, | intent(in) | :: | nPdfSize |
number of elements in state Array |
||
integer, | intent(in) | :: | iLevel |
current level |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
variable system |
||
type(tem_time_type), | intent(in) | :: | time |
Point in time at which to evaluate the variable. |
||
type(mus_convertFac_type), | intent(in) | :: | phyConvFac |
Physics conversion factor for current level |
||
type(mus_derVarPos_type), | intent(in) | :: | derVarPos(:) |
position of derived quantities in varsys |
Update state with source variable "force" with 2nd order integration of force in lattice Boltzmann equation. Simuilar to derive routine but it updates the state whereas derive is used for tracking Refer to Appendix in PhD Thesis of K. Masilamani "Coupled Simulation Framework to Simulate Electrodialysis Process for Seawater Desalination"
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(mus_source_op_type), | intent(in) | :: | fun |
Description of method to apply source terms |
||
real(kind=rk), | intent(in) | :: | inState(:) |
input pdf vector |
||
real(kind=rk), | intent(inout) | :: | outState(:) |
output pdf vector |
||
integer, | intent(in) | :: | neigh(:) |
connectivity Array corresponding to state vector |
||
real(kind=rk), | intent(in) | :: | auxField(:) |
auxField array |
||
integer, | intent(in) | :: | nPdfSize |
number of elements in state Array |
||
integer, | intent(in) | :: | iLevel |
current level |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
variable system |
||
type(tem_time_type), | intent(in) | :: | time |
Point in time at which to evaluate the variable. |
||
type(mus_convertFac_type), | intent(in) | :: | phyConvFac |
Physics conversion factor for current level |
||
type(mus_derVarPos_type), | intent(in) | :: | derVarPos(:) |
position of derived quantities in varsys |
Update state with source variable "force" with 1st order integration of force in lattice Boltzmann equation. Simuilar to derive routine but it updates the state whereas derive is used for tracking Refer to Appendix in PhD Thesis of K. Masilamani "Coupled Simulation Framework to Simulate Electrodialysis Process for Seawater Desalination"
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(mus_source_op_type), | intent(in) | :: | fun |
Description of method to apply source terms |
||
real(kind=rk), | intent(in) | :: | inState(:) |
input pdf vector |
||
real(kind=rk), | intent(inout) | :: | outState(:) |
output pdf vector |
||
integer, | intent(in) | :: | neigh(:) |
connectivity Array corresponding to state vector |
||
real(kind=rk), | intent(in) | :: | auxField(:) |
auxField array |
||
integer, | intent(in) | :: | nPdfSize |
number of elements in state Array |
||
integer, | intent(in) | :: | iLevel |
current level |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
variable system |
||
type(tem_time_type), | intent(in) | :: | time |
Point in time at which to evaluate the variable. |
||
type(mus_convertFac_type), | intent(in) | :: | phyConvFac |
Physics conversion factor for current level |
||
type(mus_derVarPos_type), | intent(in) | :: | derVarPos(:) |
position of derived quantities in varsys |
Update state with source variable "force" with 2nd order integration of force in lattice Boltzmann equation with thermodynamic factor. Simuilar to derive routine but it updates the state whereas derive is used for tracking Refer to Appendix in PhD Thesis of K. Masilamani "Coupled Simulation Framework to Simulate Electrodialysis Process for Seawater Desalination"
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(mus_source_op_type), | intent(in) | :: | fun |
Description of method to apply source terms |
||
real(kind=rk), | intent(in) | :: | inState(:) |
input pdf vector |
||
real(kind=rk), | intent(inout) | :: | outState(:) |
output pdf vector |
||
integer, | intent(in) | :: | neigh(:) |
connectivity Array corresponding to state vector |
||
real(kind=rk), | intent(in) | :: | auxField(:) |
auxField array |
||
integer, | intent(in) | :: | nPdfSize |
number of elements in state Array |
||
integer, | intent(in) | :: | iLevel |
current level |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
variable system |
||
type(tem_time_type), | intent(in) | :: | time |
Point in time at which to evaluate the variable. |
||
type(mus_convertFac_type), | intent(in) | :: | phyConvFac |
Physics conversion factor for current level |
||
type(mus_derVarPos_type), | intent(in) | :: | derVarPos(:) |
position of derived quantities in varsys |
Update state with source variable "force" with thermodynamic factor Simuilar to derive routine but it updates the state whereas derive is used for tracking Refer to Appendix in PhD Thesis of K. Masilamani "Coupled Simulation Framework to Simulate Electrodialysis Process for Seawater Desalination"
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(mus_source_op_type), | intent(in) | :: | fun |
Description of method to apply source terms |
||
real(kind=rk), | intent(in) | :: | inState(:) |
input pdf vector |
||
real(kind=rk), | intent(inout) | :: | outState(:) |
output pdf vector |
||
integer, | intent(in) | :: | neigh(:) |
connectivity Array corresponding to state vector |
||
real(kind=rk), | intent(in) | :: | auxField(:) |
auxField array |
||
integer, | intent(in) | :: | nPdfSize |
number of elements in state Array |
||
integer, | intent(in) | :: | iLevel |
current level |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
variable system |
||
type(tem_time_type), | intent(in) | :: | time |
Point in time at which to evaluate the variable. |
||
type(mus_convertFac_type), | intent(in) | :: | phyConvFac |
Physics conversion factor for current level |
||
type(mus_derVarPos_type), | intent(in) | :: | derVarPos(:) |
position of derived quantities in varsys |
This routine computes equilbrium from density and velocity This must comply with mus_variable_module%derive_FromMacro
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | density(:) |
Array of density. Single species: dens_1, dens_2 .. dens_n multi-species: dens_1_sp1, dens_1_sp2, dens_2_sp1, dens_2_sp2 ... dens_n_sp1, dens_n_sp2 |
||
real(kind=rk), | intent(in) | :: | velocity(:,:) |
Array of velocity. Size: dimension 1: n*nFields. dimension 2: 3 (nComp) 1st dimension arrangement for multi-species is same as density |
||
integer, | intent(in) | :: | iField |
Current field |
||
integer, | intent(in) | :: | nElems |
number of elements |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
variable system which is required to access fieldProp information via variable method data c_ptr |
||
type(mus_scheme_layout_type), | intent(in) | :: | layout |
scheme layout contains stencil definition and lattice weights |
||
real(kind=rk), | intent(out) | :: | res(:) |
Output of this routine Dimension: n*nComponents of res |
This routine computes velocity from state array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | state(:) |
Array of state n * layout%fStencil%QQ * nFields |
||
integer, | intent(in) | :: | iField |
Current field |
||
integer, | intent(in) | :: | nElems |
number of elements |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
variable system which is required to access fieldProp information via variable method data c_ptr |
||
type(mus_scheme_layout_type), | intent(in) | :: | layout |
scheme layout contains stencil definition and lattice weights |
||
real(kind=rk), | intent(out) | :: | res(:) |
Output of this routine Dimension: n * nComponents of res |
This routine computes momentum from state array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | state(:) |
Array of state n * layout%fStencil%QQ * nFields |
||
integer, | intent(in) | :: | iField |
Current field |
||
integer, | intent(in) | :: | nElems |
number of elements |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
variable system which is required to access fieldProp information via variable method data c_ptr |
||
type(mus_scheme_layout_type), | intent(in) | :: | layout |
scheme layout contains stencil definition and lattice weights |
||
real(kind=rk), | intent(out) | :: | res(:) |
Output of this routine Dimension: n * nComponents of res |
This routine computes velocities of all species from state array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | state(:) |
Array of state n * layout%fStencil%QQ * nFields |
||
integer, | intent(in) | :: | iField |
Current field |
||
integer, | intent(in) | :: | nElems |
number of elements |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
variable system which is required to access fieldProp information via variable method data c_ptr |
||
type(mus_scheme_layout_type), | intent(in) | :: | layout |
scheme layout contains stencil definition and lattice weights |
||
real(kind=rk), | intent(out) | :: | res(:) |
Output of this routine Dimension: n * nComponents of res |
This routine computes momentum of all species from state array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | state(:) |
Array of state n * layout%fStencil%QQ * nFields |
||
integer, | intent(in) | :: | iField |
Current field |
||
integer, | intent(in) | :: | nElems |
number of elements |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
variable system which is required to access fieldProp information via variable method data c_ptr |
||
type(mus_scheme_layout_type), | intent(in) | :: | layout |
scheme layout contains stencil definition and lattice weights |
||
real(kind=rk), | intent(out) | :: | res(:) |
Output of this routine Dimension: n * nComponents of res |
This routine computes equilibrium from state array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | state(:) |
Array of state n * layout%fStencil%QQ * nFields |
||
integer, | intent(in) | :: | iField |
Current field |
||
integer, | intent(in) | :: | nElems |
number of elements |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
variable system which is required to access fieldProp information via variable method data c_ptr |
||
type(mus_scheme_layout_type), | intent(in) | :: | layout |
scheme layout contains stencil definition and lattice weights |
||
real(kind=rk), | intent(out) | :: | res(:) |
Output of this routine Dimension: n * nComponents of res |
This routine computes auxField 'density and velocity' of given field from state array. velocity of original PDF is computed in this routine by solving LSE.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(mus_derVarPos_type), | intent(in) | :: | derVarPos |
Position of derive variable in variable system |
||
real(kind=rk), | intent(in) | :: | state(:) |
Array of state n * layout%stencil(1)%QQ * nFields |
||
integer, | intent(in) | :: | neigh(:) |
connectivity vector |
||
integer, | intent(in) | :: | iField |
Current field |
||
integer, | intent(in) | :: | nElems |
number of elements |
||
integer, | intent(in) | :: | nSize |
number of elements in state array |
||
integer, | intent(in) | :: | iLevel |
current level |
||
type(tem_stencilHeader_type), | intent(in) | :: | stencil |
stencil header contains discrete velocity vectors |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
variable system which is required to access fieldProp information via variable method data c_ptr |
||
real(kind=rk), | intent(inout) | :: | auxField(:) |
Output of this routine Size: nElems*nAuxScalars |
||
type(mus_scheme_derived_quantities_type), | intent(in) | :: | quantities |
Class that contains pointers to the proper derived quantities functions |
This routine computes auxField 'density and velocity' of given field from state array with thermodynamic factot. velocity of original PDF is computed in this routine by solving LSE.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(mus_derVarPos_type), | intent(in) | :: | derVarPos |
Position of derive variable in variable system |
||
real(kind=rk), | intent(in) | :: | state(:) |
Array of state n * layout%stencil(1)%QQ * nFields |
||
integer, | intent(in) | :: | neigh(:) |
connectivity vector |
||
integer, | intent(in) | :: | iField |
Current field |
||
integer, | intent(in) | :: | nElems |
number of elements |
||
integer, | intent(in) | :: | nSize |
number of elements in state array |
||
integer, | intent(in) | :: | iLevel |
current level |
||
type(tem_stencilHeader_type), | intent(in) | :: | stencil |
stencil header contains discrete velocity vectors |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
variable system which is required to access fieldProp information via variable method data c_ptr |
||
real(kind=rk), | intent(inout) | :: | auxField(:) |
Output of this routine Size: nElems*nAuxScalars |
||
type(mus_scheme_derived_quantities_type), | intent(in) | :: | quantities |
Class that contains pointers to the proper derived quantities functions |
This routine computes equilbrium from auxField
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(mus_derVarPos_type), | intent(in) | :: | derVarPos |
Position of derive variable in variable system |
||
real(kind=rk), | intent(in) | :: | auxField(:) |
Array of auxField. Single species: dens_1, vel_1, dens_2, vel_2, .. dens_n, vel_n multi-species: dens_1_sp1, vel_1_spc1, dens_1_sp2, vel_1_spc2, dens_2_sp1, vel_2_spc2, dens_2_sp2, vel_2_spc2 ... dens_n_sp1, vel_n_sp1, dens_n_sp2, vel_n_spc2 Access: (iElem-1)*nAuxScalars + auxField_varPos |
||
integer, | intent(in) | :: | iField |
Current field |
||
integer, | intent(in) | :: | nElems |
number of elements |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
variable system which is required to access fieldProp information via variable method data c_ptr |
||
type(mus_scheme_layout_type), | intent(in) | :: | layout |
scheme layout contains stencil definition and lattice weights |
||
real(kind=rk), | intent(out) | :: | fEq(:) |
Output of this routine Dimension: n*QQ of res |
Append mixture variables for multicomponent liquid models
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_varSys_type), | intent(inout) | :: | varSys |
global variable system |
||
type(mus_varSys_solverData_type), | intent(in), | target | :: | solverData |
Contains pointer to solver data types |
|
integer, | intent(in) | :: | nFields |
number of fields |
||
character(len=*), | intent(in) | :: | fldLabel(:) |
array of field label prefix. Size=nFields |
||
type(grw_labelarray_type), | intent(in) | :: | derVarName |
array of derive physical variable |
Calculate charge density of a given element for mixture. Charge density is mixture quantity to it returns same value for all species charge_density = Faraday * \sum_i z_i*density_i/molecularWeight_i
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun |
Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
The variable system to obtain the variable from. |
||
integer, | intent(in) | :: | elempos(:) |
Position of the TreeID of the element to get the variable for in the global treeID list. |
||
type(tem_time_type), | intent(in) | :: | time |
Point in time at which to evaluate the variable. |
||
type(treelmesh_type), | intent(in) | :: | tree |
global treelm mesh info |
||
integer, | intent(in) | :: | nElems |
Number of values to obtain for this variable (vectorized access). |
||
integer, | intent(in) | :: | nDofs |
Number of degrees of freedom within an element. |
||
real(kind=rk), | intent(out) | :: | res(:) |
Resulting values for the requested variable. |
Current density is computed from species momentum stored in auxField array. Current density, J = charge_density*velocity = \rho_e * u = \sum_k z_k F p_k / M_k where p_k is the species momentum
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun |
Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
The variable system to obtain the variable from. |
||
integer, | intent(in) | :: | elempos(:) |
Position of the TreeID of the element to get the variable for in the global treeID list. |
||
type(tem_time_type), | intent(in) | :: | time |
Point in time at which to evaluate the variable. |
||
type(treelmesh_type), | intent(in) | :: | tree |
global treelm mesh info |
||
integer, | intent(in) | :: | nElems |
Number of values to obtain for this variable (vectorized access). |
||
integer, | intent(in) | :: | nDofs |
Number of degrees of freedom within an element. |
||
real(kind=rk), | intent(out) | :: | res(:) |
Resulting values for the requested variable. |
Calculate mixture kinematic pressure. This routine requires initial total mole density which is defined in mixture table. Formula to compute kinematic pressure here, - species density, \ - species molecular weight ratio, \ - reference mixture number density,\ - reference density. In tracking,
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun |
Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
The variable system to obtain the variable from. |
||
integer, | intent(in) | :: | elempos(:) |
Position of the TreeID of the element to get the variable for in the global treeID list. |
||
type(tem_time_type), | intent(in) | :: | time |
Point in time at which to evaluate the variable. |
||
type(treelmesh_type), | intent(in) | :: | tree |
global treelm mesh info |
||
integer, | intent(in) | :: | nElems |
Number of values to obtain for this variable (vectorized access). |
||
integer, | intent(in) | :: | nDofs |
Number of degrees of freedom within an element. |
||
real(kind=rk), | intent(out) | :: | res(:) |
Resulting values for the requested variable. |
Equilibrium velocity from density and momentum in auxField.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun |
Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
The variable system to obtain the variable from. |
||
integer, | intent(in) | :: | elempos(:) |
Position of the TreeID of the element to get the variable for in the global treeID list. |
||
type(tem_time_type), | intent(in) | :: | time |
Point in time at which to evaluate the variable. |
||
type(treelmesh_type), | intent(in) | :: | tree |
global treelm mesh info |
||
integer, | intent(in) | :: | nElems |
Number of values to obtain for this variable (vectorized access). |
||
integer, | intent(in) | :: | nDofs |
Number of degrees of freedom within an element. |
||
real(kind=rk), | intent(out) | :: | res(:) |
Resulting values for the requested variable. |
Equilibrium velocity from density and momentum in auxField with thermodynamic factor
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun |
Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
The variable system to obtain the variable from. |
||
integer, | intent(in) | :: | elempos(:) |
Position of the TreeID of the element to get the variable for in the global treeID list. |
||
type(tem_time_type), | intent(in) | :: | time |
Point in time at which to evaluate the variable. |
||
type(treelmesh_type), | intent(in) | :: | tree |
global treelm mesh info |
||
integer, | intent(in) | :: | nElems |
Number of values to obtain for this variable (vectorized access). |
||
integer, | intent(in) | :: | nDofs |
Number of degrees of freedom within an element. |
||
real(kind=rk), | intent(out) | :: | res(:) |
Resulting values for the requested variable. |
Equilibrium from density and momentum stored in auxField
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun |
Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
The variable system to obtain the variable from. |
||
integer, | intent(in) | :: | elempos(:) |
Position of the TreeID of the element to get the variable for in the global treeID list. |
||
type(tem_time_type), | intent(in) | :: | time |
Point in time at which to evaluate the variable. |
||
type(treelmesh_type), | intent(in) | :: | tree |
global treelm mesh info |
||
integer, | intent(in) | :: | nElems |
Number of values to obtain for this variable (vectorized access). |
||
integer, | intent(in) | :: | nDofs |
Number of degrees of freedom within an element. |
||
real(kind=rk), | intent(out) | :: | res(:) |
Resulting values for the requested variable. |
Equilibrium from density and momentum in auxField with thermodynamic factor
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun |
Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
The variable system to obtain the variable from. |
||
integer, | intent(in) | :: | elempos(:) |
Position of the TreeID of the element to get the variable for in the global treeID list. |
||
type(tem_time_type), | intent(in) | :: | time |
Point in time at which to evaluate the variable. |
||
type(treelmesh_type), | intent(in) | :: | tree |
global treelm mesh info |
||
integer, | intent(in) | :: | nElems |
Number of values to obtain for this variable (vectorized access). |
||
integer, | intent(in) | :: | nDofs |
Number of degrees of freedom within an element. |
||
real(kind=rk), | intent(out) | :: | res(:) |
Resulting values for the requested variable. |
Calculate mixture velocity of a given element from the momentum and density stored in auxField array for liquid mixture. auxField was updated with momentum of untransformed PDF which was computed by solving LSE in compute kernel.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun |
Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
The variable system to obtain the variable from. |
||
integer, | intent(in) | :: | elempos(:) |
Position of the TreeID of the element to get the variable for in the global treeID list. |
||
type(tem_time_type), | intent(in) | :: | time |
Point in time at which to evaluate the variable. |
||
type(treelmesh_type), | intent(in) | :: | tree |
global treelm mesh info |
||
integer, | intent(in) | :: | nElems |
Number of values to obtain for this variable (vectorized access). |
||
integer, | intent(in) | :: | nDofs |
Number of degrees of freedom within an element. |
||
real(kind=rk), | intent(out) | :: | res(:) |
Resulting values for the requested variable. |
Calculate charge density from species concentration
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun |
Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
The variable system to obtain the variable from. |
||
type(tem_time_type), | intent(in) | :: | time |
Point in time at which to evaluate the variable. |
||
integer, | intent(in) | :: | iLevel |
Level on which values are requested |
||
integer, | intent(in) | :: | idx(:) |
Index of points in the growing array and variable val array to return. Size: nVals |
||
integer, | intent(in), | optional | :: | idxLen(:) |
With idx as start index in contiguous memory, idxLength defines length of each contiguous memory Size: nVals |
|
integer, | intent(in) | :: | nVals |
Number of values to obtain for this variable (vectorized access). |
||
real(kind=rk), | intent(out) | :: | res(:) |
Resulting values for the requested variable. |
Calculate current density from species momentum
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun |
Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
The variable system to obtain the variable from. |
||
type(tem_time_type), | intent(in) | :: | time |
Point in time at which to evaluate the variable. |
||
integer, | intent(in) | :: | iLevel |
Level on which values are requested |
||
integer, | intent(in) | :: | idx(:) |
Index of points in the growing array and variable val array to return. Size: nVals |
||
integer, | intent(in), | optional | :: | idxLen(:) |
With idx as start index in contiguous memory, idxLength defines length of each contiguous memory Size: nVals |
|
integer, | intent(in) | :: | nVals |
Number of values to obtain for this variable (vectorized access). |
||
real(kind=rk), | intent(out) | :: | res(:) |
Resulting values for the requested variable. |
Calculate mixture velocity from density from species momentum
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun |
Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
The variable system to obtain the variable from. |
||
type(tem_time_type), | intent(in) | :: | time |
Point in time at which to evaluate the variable. |
||
integer, | intent(in) | :: | iLevel |
Level on which values are requested |
||
integer, | intent(in) | :: | idx(:) |
Index of points in the growing array and variable val array to return. Size: nVals |
||
integer, | intent(in), | optional | :: | idxLen(:) |
With idx as start index in contiguous memory, idxLength defines length of each contiguous memory Size: nVals |
|
integer, | intent(in) | :: | nVals |
Number of values to obtain for this variable (vectorized access). |
||
real(kind=rk), | intent(out) | :: | res(:) |
Resulting values for the requested variable. |