Inflow boundary condition based on non-Equilbrium extrapolation method. Usage
boundary_condition = {
{ label = 'outlet',
kind = 'spc_inflow',
mole_fraction = 0.01,
velocity = {0.1,0.0,0.0},
}
}
This subroutine's interface must match the abstract interface definition boundaryRoutine in bc/mus_bc_header_module.f90 in order to be callable via fnct function pointer.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(boundary_type) | :: | me | global boundary type |
|||
real(kind=rk), | intent(inout) | :: | state(:) | Current state vector of iLevel |
||
real(kind=rk), | intent(in) | :: | bcBuffer(:) | state values of boundary elements of all fields of iLevel |
||
type(glob_boundary_type), | intent(in) | :: | globBC | scheme global boundary type |
||
type(tem_levelDesc_type), | intent(in) | :: | levelDesc | iLevel descriptor |
||
type(treelmesh_type), | intent(in) | :: | tree | Treelm Mesh |
||
integer, | intent(in) | :: | nSize | size of state array ( in terms of elements ) |
||
integer, | intent(in) | :: | iLevel | the level On which this boundary was invoked |
||
type(tem_time_type), | intent(in) | :: | sim_time | global time information |
||
integer, | intent(in) | :: | neigh(:) | connectivity array corresponding to state vector |
||
type(mus_scheme_layout_type), | intent(in) | :: | layout | stencil layout information |
||
type(mus_field_prop_type), | intent(in) | :: | fieldProp | fluid parameters and properties |
||
integer, | intent(in) | :: | varPos(:) | pointer to field variable in the state vector |
||
integer, | intent(in) | :: | nScalars | number of Scalars in the scheme var system |
||
type(tem_varSys_type), | intent(in) | :: | varSys | scheme variable system |
||
type(mus_derVarPos_type), | intent(in) | :: | derVarPos | position of derived quantities in varsys |
||
type(mus_physics_type), | intent(in) | :: | physics | scheme global boundary type |
||
integer, | intent(in) | :: | iField | current field |
||
type(mus_mixture_type), | intent(in) | :: | mixture | mixture info |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=rk), | private | :: | fTmpAll_f(nScalars) | ||||
real(kind=rk), | private | :: | fTmpAll_ff(nScalars) | ||||
real(kind=rk), | private | :: | fEq_b | ||||
real(kind=rk), | private | :: | fEq_f | ||||
real(kind=rk), | private | :: | fEq_ff | ||||
real(kind=rk), | private | :: | fnEq_f | ||||
real(kind=rk), | private | :: | fnEq_ff | ||||
real(kind=rk), | private | :: | fnEq_b | ||||
real(kind=rk), | private | :: | eqVel_f(3) | ||||
real(kind=rk), | private | :: | velAvg_f(3) | ||||
real(kind=rk), | private | :: | eqVel_ff(3) | ||||
real(kind=rk), | private | :: | velAvg_ff(3) | ||||
real(kind=rk), | private | :: | vel_b(3) | ||||
real(kind=rk), | private | :: | usq_f | ||||
real(kind=rk), | private | :: | ucx_f | ||||
real(kind=rk), | private | :: | ucxQuad_f | ||||
real(kind=rk), | private | :: | usq_b | ||||
real(kind=rk), | private | :: | ucx_b | ||||
real(kind=rk), | private | :: | usq_ff | ||||
real(kind=rk), | private | :: | ucx_ff | ||||
real(kind=rk), | private | :: | ucxQuad_ff | ||||
real(kind=rk), | private, | dimension(varSys%nStateVars) | :: | mass_dens_f | |||
real(kind=rk), | private, | dimension(varSys%nStateVars) | :: | mass_dens_ff | |||
real(kind=rk), | private, | dimension(3, varSys%nStateVars) | :: | velocity_f | |||
real(kind=rk), | private, | dimension(3, varSys%nStateVars) | :: | velocity_ff | |||
real(kind=rk), | private | :: | resi_coeff(varSys%nStateVars,varSys%nStateVars) | ||||
real(kind=rk), | private | :: | omega_fac | ||||
real(kind=rk), | private | :: | paramBInv | ||||
integer, | private | :: | iElem | ||||
integer, | private | :: | iDir | ||||
integer, | private | :: | |||||
integer, | private | :: | iFld | ||||
integer, | private | :: | vPos | ||||
integer, | private | :: | posInBuffer | ||||
integer, | private | :: | bcMoleFrac_pos | ||||
integer, | private | :: | bcVel_pos | ||||
integer, | private | :: | elemPos | ||||
integer, | private | :: | neighPos_1 | ||||
integer, | private | :: | neighPos_2 | ||||
real(kind=rk), | private | :: | vel_w(3*globBC%nElems(iLevel)) | ||||
real(kind=rk), | private | :: | inv_vel | ||||
real(kind=rk), | private | :: | moleFrac_w(globBC%nElems(iLevel)) | ||||
real(kind=rk), | private | :: | mass_dens_b | ||||
type(mus_varSys_data_type), | private, | pointer | :: | fPtr | |||
real(kind=rk), | private | :: | coeff_w | ||||
real(kind=rk), | private | :: | coeff_f | ||||
real(kind=rk), | private | :: | coeff_ff | ||||
integer, | private | :: | nFields | ||||
real(kind=rk), | private | :: | weight0Inv | Inverse of lattice weight ar restPosition |
This routine computes macroscopic quantities like density, velocity equilibrium velocity, velocity average for given iField from PDF
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_varSys_type), | intent(in) | :: | varSys | |||
real(kind=rk), | intent(in) | :: | pdf(varSys%nScalars) | |||
real(kind=rk), | intent(out) | :: | mass_dens(nFields) | |||
real(kind=rk), | intent(out) | :: | velocity(nFields,nFields) | |||
real(kind=rk), | intent(out) | :: | velAvg(3) | |||
real(kind=rk), | intent(out) | :: | eqVel(3) | |||
type(mus_species_type), | intent(in) | :: | species(nFields) |