Linkwise non-equilibrium extrapolation (can handle curved walls)
All the coefficients are pre-calculated here and then used for the specific boundary conditions - potential_noneq_expol & potential_neumann - velocity_noneq_expol & pressure_noneq_expol - spc_moledens_noneq_expol & spc_solvent_noneq_expol
The pdf is decomposed into equilibrium (eq) and non-equilibrium (neq) part: f = f_eq + f_neq - f_eq is calculated by weighting a fictitious X, which is obtained by an extrapolation using the fluid neighbor(s) - f_neq is approximated by second-order extrapolation using the fluid neighbor(s) - for qVal < 0.75 even the second neighbor is used for the extrapolations
Bitmask is true for incoming direction
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(bc_nonEqExpol_type), | intent(out), | allocatable | :: | me(:) | setting type for bc |
|
logical, | intent(in) | :: | curved | Curved or straight boundary |
||
type(treelmesh_type), | intent(in) | :: | tree | using mesh information |
||
type(tem_stencilHeader_type), | intent(in) | :: | stencil | for directions |
||
integer, | intent(in) | :: | nScalars | number of scalars |
||
type(glob_boundary_type), | intent(in) | :: | globBC | scheme global boundary type |
||
type(bc_neigh_type), | intent(in) | :: | bc_neigh(minLevel:maxLevel) | boundary neighbor |
||
type(pdf_data_type), | intent(in) | :: | pdf(tree%global%minlevel:tree%global%maxlevel) | contains global state vector |
||
type(tem_levelDesc_type), | intent(in) | :: | levelDesc(minLevel:maxLevel) | level descriptor |
||
integer, | intent(in) | :: | varPos(:) | for position of elements |
||
integer, | intent(in) | :: | nLinks(minLevel:maxLevel) | for linkwise treatment |
||
integer, | intent(in) | :: | minLevel | minimum and maximum level |
||
integer, | intent(in) | :: | maxLevel | minimum and maximum level |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | private | :: | iLink | ||||
integer, | private | :: | invDir | ||||
integer, | private | :: | iElem | ||||
integer, | private | :: | iLevel | ||||
integer, | private | :: | iDir | ||||
integer, | private | :: | elemPos | ||||
integer, | private | :: | |||||
integer, | private | :: | QQN | ||||
real(kind=rk), | private | :: | qVal |