Wall model based on the log-law for a rough wall. The formula defining the law is \( u^+ = log(z/z_0)/\kappa + B \). Here, \( z \) is the wall-normal distance, as per tradition in atmospheric sciences, where this law is often used.
More...
|
procedure, pass(this) | init (this, coef, msk, facet, nu, h_index, json) |
| Constructor from JSON.
|
|
procedure, pass(this) | init_from_components (this, coef, msk, facet, nu, h_index, kappa, b, z0) |
| Constructor from components.
|
|
procedure, pass(this) | free (this) |
| Destructor.
|
|
procedure, pass(this) | compute (this, t, tstep) |
| Compute the wall shear stress.
|
|
procedure, pass(this) | init_base (this, coef, msk, facet, nu, index) |
| Constructor for the wall_model_t (base) class.
|
|
procedure, pass(this) | free_base (this) |
| Destructor for the wall_model_t (base) class.
|
|
procedure(wall_model_init), deferred, pass | init (this, coef, msk, facet, nu, h_index, json) |
| The common constructor.
|
|
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 = 0.41_rp |
| The von Karman coefficient.
|
|
real(kind=rp) | b = 0.0_rp |
| The log-law intercept.
|
|
real(kind=rp) | z0 = 0.0_rp |
| The roughness height.
|
|
type(coef_t), pointer | coef => null() |
| SEM coefficients.
|
|
type(dofmap_t), pointer | dof => null() |
| Map of degrees of freedom.
|
|
integer, dimension(:), pointer | msk => null() |
| The boundary condition mask. Stores the array size at index zero!
|
|
integer, dimension(:), pointer | facet => null() |
| The boundary condition facet ids. Stores the array size at index zero!
|
|
real(kind=rp), dimension(:), allocatable | tau_x |
| The x component of the shear stress.
|
|
real(kind=rp), dimension(:), allocatable | tau_y |
| The y component of the shear stress.
|
|
real(kind=rp), dimension(:), allocatable | 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.
|
|
integer, dimension(:), allocatable | ind_s |
| The s indices of the sampling points.
|
|
integer, dimension(:), allocatable | ind_t |
| The t indices of the sampling points.
|
|
integer, dimension(:), allocatable | ind_e |
| The element indices of the sampling points.
|
|
type(vector_t) | h |
| The sampling height.
|
|
integer | h_index = 0 |
| Sampling index.
|
|
integer | n_nodes = 0 |
| Number of nodes in the boundary.
|
|
real(kind=rp) | nu = 0_rp |
| Kinematic viscosity value.
|
|
type(field_t), pointer | tau_field => null() |
| The 3D field with the computed stress magnitude at the boundary.
|
|
Definition at line 53 of file rough_log_law.f90.
◆ compute() [1/2]
- Parameters
-
t | The time value. |
tstep | The time iteration. |
Definition at line 70 of file rough_log_law.f90.
◆ compute() [2/2]
◆ find_points()
◆ free() [1/2]
◆ free() [2/2]
◆ free_base()
◆ init() [1/2]
procedure, pass(this) rough_log_law::rough_log_law_t::init |
( |
class(rough_log_law_t), intent(inout) |
this, |
|
|
type(coef_t), intent(in) |
coef, |
|
|
integer, dimension(:), intent(in) |
msk, |
|
|
integer, dimension(:), intent(in) |
facet, |
|
|
real(kind=rp), intent(in) |
nu, |
|
|
integer, intent(in) |
h_index, |
|
|
type(json_file), intent(inout) |
json |
|
) |
| |
- Parameters
-
coef | SEM coefficients. |
msk | The boundary mask. |
facet | The boundary facets. |
nu | The molecular kinematic viscosity. |
h_index | The off-wall index of the sampling cell. |
json | A dictionary with parameters. |
Definition at line 63 of file rough_log_law.f90.
◆ init() [2/2]
procedure(wall_model_init), deferred, pass wall_model::wall_model_t::init |
( |
class(wall_model_t), intent(inout) |
this, |
|
|
type(coef_t), intent(in) |
coef, |
|
|
integer, dimension(:), intent(in) |
msk, |
|
|
integer, dimension(:), intent(in) |
facet, |
|
|
real(kind=rp), intent(in) |
nu, |
|
|
integer, intent(in) |
h_index, |
|
|
type(json_file), intent(inout) |
json |
|
) |
| |
|
pure virtualinherited |
◆ init_base()
procedure, pass(this) wall_model::wall_model_t::init_base |
( |
class(wall_model_t), intent(inout) |
this, |
|
|
type(coef_t), intent(in), target |
coef, |
|
|
integer, dimension(0:), intent(in), target |
msk, |
|
|
integer, dimension(0:), intent(in), target |
facet, |
|
|
real(kind=rp), intent(in) |
nu, |
|
|
integer, intent(in) |
index |
|
) |
| |
|
inherited |
- Parameters
-
object | The object to be allocated. |
coef | SEM coefficients. |
msk | The boundary mask. |
facet | The boundary facets. |
nu | The molecular kinematic viscosity. |
h_index | The off-wall index of the sampling cell. |
json | A dictionary with parameters. Constructor for the wall_model_t (base) class. |
coef | SEM coefficients. |
msk | The underlying mask of the boundary condition. |
facet,The | underlying facet index list of the boundary condition. |
nu | The kinematic viscosity. |
index | The off-wall index of the sampling point. |
Definition at line 95 of file wall_model.f90.
◆ init_from_components()
procedure, pass(this) rough_log_law::rough_log_law_t::init_from_components |
( |
class(rough_log_law_t), intent(inout) |
this, |
|
|
type(coef_t), intent(in) |
coef, |
|
|
integer, dimension(:), intent(in) |
msk, |
|
|
integer, dimension(:), intent(in) |
facet, |
|
|
real(kind=rp), intent(in) |
nu, |
|
|
integer, intent(in) |
h_index, |
|
|
real(kind=rp), intent(in) |
kappa, |
|
|
real(kind=rp), intent(in) |
b, |
|
|
real(kind=rp), intent(in) |
z0 |
|
) |
| |
- Parameters
-
coef | SEM coefficients. |
msk | The boundary mask. |
facet | The boundary facets. |
nu | The molecular kinematic viscosity. |
h_index | The off-wall index of the sampling cell. |
kappa | The von Karman coefficient. |
B | The log-law intercept. |
z0 | The roughness height. |
Definition at line 65 of file rough_log_law.f90.
real(kind=rp) rough_log_law::rough_log_law_t::b = 0.0_rp |
◆ coef
◆ dof
◆ facet
type(vector_t) wall_model::wall_model_t::h |
|
inherited |
◆ h_index
integer wall_model::wall_model_t::h_index = 0 |
|
inherited |
◆ ind_e
◆ ind_r
◆ ind_s
◆ ind_t
◆ kappa
real(kind=rp) rough_log_law::rough_log_law_t::kappa = 0.41_rp |
◆ msk
◆ n_nodes
integer wall_model::wall_model_t::n_nodes = 0 |
|
inherited |
◆ n_x
type(vector_t) wall_model::wall_model_t::n_x |
|
inherited |
◆ n_y
type(vector_t) wall_model::wall_model_t::n_y |
|
inherited |
◆ n_z
type(vector_t) wall_model::wall_model_t::n_z |
|
inherited |
◆ nu
real(kind=rp) wall_model::wall_model_t::nu = 0_rp |
|
inherited |
◆ tau_field
◆ tau_x
◆ tau_y
◆ tau_z
◆ z0
real(kind=rp) rough_log_law::rough_log_law_t::z0 = 0.0_rp |
The documentation for this type was generated from the following file: