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 |