Update state with source variable "force". Force term used here is from: "Discrete lattice effects on the forcing term in the lattice Boltzmann method", Zhaoli Guo, Chugung Zheng and Baochang Shi. In the paper, use force term is referred as Method 2 as: Force must be defined as body force per unit volume KM: If this force formula is used then velocity needs to be computed as u = \sum c_i f_i + \vec{F}/2
Simuilar to derive routine but it updates the state whereas derive is used for tracking.
This subroutine's interface must match the abstract interface definition proc_apply_source in derived/mus_source_var_module.f90 in order to be callable via applySrc function pointer.
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 |