Wall model based on the Monin-Obukhov Similarity Theory for atmospheric boundary layer flows. Automatically switches between stable, unstable and neutral layer formulations based on the Richardson number.
More...
|
| procedure, pass(this) | init (this, scheme_name, coef, msk, facet, h_index, json) |
| | Constructor from JSON.
|
| |
| procedure, pass(this) | partial_init (this, coef, json) |
| | Partial constructor from JSON, meant to work as the first stage of initialization before the finalize call.
|
| |
| procedure, pass(this) | finalize (this, msk, facet) |
| | Finalize the construction using the mask and facet arrays of the bc.
|
| |
| procedure, pass(this) | init_from_components (this, scheme_name, scalar_name, coef, msk, facet, h_index, kappa, g, pr, z0, z0h_in, bc_type, bc_value) |
| | Constructor from components.
|
| |
| procedure, pass(this) | free (this) |
| | Destructor.
|
| |
| procedure, pass(this) | compute (this, t, tstep) |
| | Compute the wall shear stress.
|
| |
| procedure, pass(this) | extract_properties (this) |
| | Extract the values of rho and mu at the boundary.
|
| |
| 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.
|
| |
|
| real(kind=rp) | kappa |
| | The von Karman coefficient.
|
| |
| real(kind=rp) | pr |
| | The turbulent Prandtl number.
|
| |
| real(kind=rp) | z0 |
| | The roughness height.
|
| |
| real(kind=rp) | z0h_in |
| | The thermal roughness height.
|
| |
| type(vector_t) | mu_w |
| |
| type(vector_t) | rho_w |
| |
| real(kind=rp), dimension(3) | g |
| | The gravity vector.
|
| |
| character(len=:), allocatable | bc_type |
| | The type of temperature boundary condition set in the case file.
|
| |
| real(kind=rp) | bc_value |
| | The heat flux or temperature value set in the case file.
|
| |
| character(len=:), allocatable | scalar_name |
| | The name of the temperature variable.
|
| |
| type(vector_t) | ri_b |
| | Diagnostics.
|
| |
| type(vector_t) | l_ob |
| |
| type(vector_t) | utau |
| |
| type(vector_t) | magu |
| |
| type(vector_t) | ti |
| |
| type(vector_t) | ts |
| |
| type(vector_t) | q |
| |
| integer, dimension(:), allocatable | h_x_idx |
| |
| integer, dimension(:), allocatable | h_y_idx |
| |
| integer, dimension(:), allocatable | h_z_idx |
| |
| type(c_ptr) | h_x_idx_d = C_NULL_PTR |
| |
| type(c_ptr) | h_y_idx_d = C_NULL_PTR |
| |
| type(c_ptr) | h_z_idx_d = C_NULL_PTR |
| |
| 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 63 of file most.f90.