Neko 1.99.1
A portable framework for high-order spectral element flow simulations
|
Base abstract type for wall-stress models for wall-modelled LES. More...
Public Member Functions | |
procedure, pass(this) | init_base (this, scheme_name, coef, msk, facet, index) |
Constructor for the wall_model_t (base) class. | |
procedure, pass(this) | partial_init_base (this, coef, json) |
Base type implementation of the deferred partial_init . | |
procedure, pass(this) | finalize_base (this, msk, facet) |
Base type implementation of the deferred finilize . | |
procedure, pass(this) | free_base (this) |
Destructor for the wall_model_t (base) class. | |
procedure, pass(this) | compute_mag_field (this) |
Compute the wall shear stress's magnitude. | |
procedure(wall_model_init), deferred, pass | init (this, scheme_name, coef, msk, facet, h_index, json) |
The common constructor. | |
procedure(wall_model_partial_init), deferred, pass | partial_init (this, coef, json) |
A part of the constructor that parses the JSON without initializing the base wall_model_t type. Used in wall_model_bc_t during the init stage of the bc construction. So, in this routine you cannot use the bc mask and facets. The construction can be finished by calling finalize_base . This generally follows the same pattern as in bc_t . This constructor gets the scheme_name from the JSON. This is currently hacked in by the pnpn_bc_factory . | |
procedure(wall_model_finalize), deferred, pass | finalize (this, msk, facet) |
Finalization of the partial construction, similar to bc_t . | |
procedure(wall_model_free), deferred, pass | free (this) |
Destructor. | |
procedure(wall_model_compute), deferred, pass | compute (this, t, tstep) |
Compute the wall shear stress. | |
procedure, pass(this) | find_points (this) |
Find the sampling points based on the value of h_index . | |
Public Attributes | |
type(coef_t), pointer | coef => null() |
SEM coefficients. | |
type(dofmap_t), pointer | dof => null() |
Map of degrees of freedom. | |
type(field_t), pointer | mu => null() |
The dynamic viscosity of the fluid. | |
type(field_t), pointer | rho => null() |
The density of the fluid. | |
character(len=:), allocatable | scheme_name |
The name of the scheme for which the wall model is used. This is used to identify the name of the mu an rho fields in the registry. | |
integer, dimension(:), pointer | msk => null() |
The boundary condition mask. Stores the array size at index zero! | |
type(c_ptr) | msk_d = C_NULL_PTR |
integer, dimension(:), pointer | facet => null() |
The boundary condition facet ids. Stores the array size at index zero! | |
type(vector_t) | tau_x |
The x component of the shear stress. | |
type(vector_t) | tau_y |
The y component of the shear stress. | |
type(vector_t) | tau_z |
The z component of the shear stress. | |
type(vector_t) | n_x |
The x component of the normal. | |
type(vector_t) | n_y |
The y component of the normal. | |
type(vector_t) | n_z |
The z component of the normal. | |
integer, dimension(:), allocatable | ind_r |
The r indices of the sampling points. | |
type(c_ptr) | ind_r_d = C_NULL_PTR |
integer, dimension(:), allocatable | ind_s |
The s indices of the sampling points. | |
type(c_ptr) | ind_s_d = C_NULL_PTR |
integer, dimension(:), allocatable | ind_t |
The t indices of the sampling points. | |
type(c_ptr) | ind_t_d = C_NULL_PTR |
integer, dimension(:), allocatable | ind_e |
The element indices of the sampling points. | |
type(c_ptr) | ind_e_d = C_NULL_PTR |
type(vector_t) | h |
The sampling height. | |
integer | h_index = 0 |
Sampling index. | |
integer | n_nodes = 0 |
Number of nodes in the boundary. | |
type(field_t), pointer | tau_field => null() |
The 3D field with the computed stress magnitude at the boundary. | |
Definition at line 59 of file wall_model.f90.
|
pure virtual |
Definition at line 135 of file wall_model.f90.
procedure, pass(this) wall_model::wall_model_t::compute_mag_field | ( | class(wall_model_t), intent(inout) | this | ) |
Definition at line 119 of file wall_model.f90.
|
pure virtual |
Definition at line 131 of file wall_model.f90.
procedure, pass(this) wall_model::wall_model_t::finalize_base | ( | class(wall_model_t), intent(inout) | this, |
integer, dimension(0:), intent(in), target | msk, | ||
integer, dimension(:), intent(in), target | facet | ||
) |
Definition at line 115 of file wall_model.f90.
procedure, pass(this) wall_model::wall_model_t::find_points | ( | class(wall_model_t), intent(inout) | this | ) |
Definition at line 137 of file wall_model.f90.
|
pure virtual |
Definition at line 133 of file wall_model.f90.
procedure, pass(this) wall_model::wall_model_t::free_base | ( | class(wall_model_t), intent(inout) | this | ) |
Definition at line 117 of file wall_model.f90.
|
pure virtual |
Definition at line 121 of file wall_model.f90.
procedure, pass(this) wall_model::wall_model_t::init_base | ( | class(wall_model_t), intent(inout) | this, |
character(len=*) | scheme_name, | ||
type(coef_t), intent(in), target | coef, | ||
integer, dimension(0:), intent(in), target | msk, | ||
integer, dimension(0:), intent(in), target | facet, | ||
integer, intent(in) | index | ||
) |
coef | SEM coefficients. |
msk | The underlying mask of the boundary condition. |
facet,The | underlying facet index list of the boundary condition. |
scheme_name | The name of the scheme for which the wall model is used. |
index | The off-wall index of the sampling point. |
Definition at line 111 of file wall_model.f90.
|
pure virtual |
Definition at line 129 of file wall_model.f90.
procedure, pass(this) wall_model::wall_model_t::partial_init_base | ( | class(wall_model_t), intent(inout) | this, |
type(coef_t), intent(in), target | coef, | ||
type(json_file), intent(inout) | json | ||
) |
coef | SEM coefficients. |
The | name of the scheme for which the wall model is used. |
json | A dictionary with parameters. |
Definition at line 113 of file wall_model.f90.
Definition at line 61 of file wall_model.f90.
Definition at line 63 of file wall_model.f90.
Definition at line 76 of file wall_model.f90.
type(vector_t) wall_model::wall_model_t::h |
Definition at line 102 of file wall_model.f90.
integer wall_model::wall_model_t::h_index = 0 |
Definition at line 104 of file wall_model.f90.
integer, dimension(:), allocatable wall_model::wall_model_t::ind_e |
Definition at line 99 of file wall_model.f90.
type(c_ptr) wall_model::wall_model_t::ind_e_d = C_NULL_PTR |
Definition at line 100 of file wall_model.f90.
integer, dimension(:), allocatable wall_model::wall_model_t::ind_r |
Definition at line 90 of file wall_model.f90.
type(c_ptr) wall_model::wall_model_t::ind_r_d = C_NULL_PTR |
Definition at line 91 of file wall_model.f90.
integer, dimension(:), allocatable wall_model::wall_model_t::ind_s |
Definition at line 93 of file wall_model.f90.
type(c_ptr) wall_model::wall_model_t::ind_s_d = C_NULL_PTR |
Definition at line 94 of file wall_model.f90.
integer, dimension(:), allocatable wall_model::wall_model_t::ind_t |
Definition at line 96 of file wall_model.f90.
type(c_ptr) wall_model::wall_model_t::ind_t_d = C_NULL_PTR |
Definition at line 97 of file wall_model.f90.
Definition at line 73 of file wall_model.f90.
type(c_ptr) wall_model::wall_model_t::msk_d = C_NULL_PTR |
Definition at line 74 of file wall_model.f90.
Definition at line 65 of file wall_model.f90.
integer wall_model::wall_model_t::n_nodes = 0 |
Definition at line 106 of file wall_model.f90.
type(vector_t) wall_model::wall_model_t::n_x |
Definition at line 84 of file wall_model.f90.
type(vector_t) wall_model::wall_model_t::n_y |
Definition at line 86 of file wall_model.f90.
type(vector_t) wall_model::wall_model_t::n_z |
Definition at line 88 of file wall_model.f90.
Definition at line 67 of file wall_model.f90.
character(len=:), allocatable wall_model::wall_model_t::scheme_name |
Definition at line 71 of file wall_model.f90.
Definition at line 108 of file wall_model.f90.
type(vector_t) wall_model::wall_model_t::tau_x |
Definition at line 78 of file wall_model.f90.
type(vector_t) wall_model::wall_model_t::tau_y |
Definition at line 80 of file wall_model.f90.
type(vector_t) wall_model::wall_model_t::tau_z |
Definition at line 82 of file wall_model.f90.