| 
    Neko 1.99.1
    
   A portable framework for high-order spectral element flow simulations 
   | 
 
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...


Public Member Functions | |
| 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, coef, msk, facet, 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, 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 | |
| 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.   | |
| 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 54 of file rough_log_law.f90.
| procedure, pass(this) rough_log_law::rough_log_law_t::compute | ( | class(rough_log_law_t), intent(inout) | this, | 
| real(kind=rp), intent(in) | t, | ||
| integer, intent(in) | tstep | ||
| ) | 
| t | The time value. | 
| tstep | The time iteration. | 
Definition at line 76 of file rough_log_law.f90.
      
  | 
  pure virtualinherited | 
Definition at line 135 of file wall_model.f90.
      
  | 
  inherited | 
Definition at line 119 of file wall_model.f90.
| procedure, pass(this) rough_log_law::rough_log_law_t::finalize | ( | class(rough_log_law_t), intent(inout) | this, | 
| integer, dimension(:), intent(in) | msk, | ||
| integer, dimension(:), intent(in) | facet | ||
| ) | 
| msk | The boundary mask. | 
| facet | The boundary facets. | 
Definition at line 69 of file rough_log_law.f90.
      
  | 
  pure virtualinherited | 
Definition at line 131 of file wall_model.f90.
      
  | 
  inherited | 
Definition at line 115 of file wall_model.f90.
      
  | 
  inherited | 
Definition at line 137 of file wall_model.f90.
| procedure, pass(this) rough_log_law::rough_log_law_t::free | ( | class(rough_log_law_t), intent(inout) | this | ) | 
Definition at line 74 of file rough_log_law.f90.
      
  | 
  pure virtualinherited | 
Definition at line 133 of file wall_model.f90.
      
  | 
  inherited | 
Definition at line 117 of file wall_model.f90.
| procedure, pass(this) rough_log_law::rough_log_law_t::init | ( | class(rough_log_law_t), intent(inout) | this, | 
| character(len=*), intent(in) | scheme_name, | ||
| type(coef_t), intent(in) | coef, | ||
| integer, dimension(:), intent(in) | msk, | ||
| integer, dimension(:), intent(in) | facet, | ||
| integer, intent(in) | h_index, | ||
| type(json_file), intent(inout) | json | ||
| ) | 
| scheme_name | The name of the scheme for which the wall model is used. | 
| coef | SEM coefficients. | 
| msk | The boundary mask. | 
| facet | The boundary facets. | 
| h_index | The off-wall index of the sampling cell. | 
| json | A dictionary with parameters. | 
Definition at line 64 of file rough_log_law.f90.
      
  | 
  pure virtualinherited | 
Definition at line 121 of file wall_model.f90.
      
  | 
  inherited | 
| 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.
| procedure, pass(this) rough_log_law::rough_log_law_t::init_from_components | ( | class(rough_log_law_t), intent(inout) | this, | 
| character(len=*), intent(in) | scheme_name, | ||
| type(coef_t), intent(in) | coef, | ||
| integer, dimension(:), intent(in) | msk, | ||
| integer, dimension(:), intent(in) | facet, | ||
| integer, intent(in) | h_index, | ||
| real(kind=rp), intent(in) | kappa, | ||
| real(kind=rp), intent(in) | b, | ||
| real(kind=rp), intent(in) | z0 | ||
| ) | 
| scheme_name | The name of the scheme for which the wall model is used. | 
| coef | SEM coefficients. | 
| msk | The boundary mask. | 
| facet | The boundary facets. | 
| 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 71 of file rough_log_law.f90.
| procedure, pass(this) rough_log_law::rough_log_law_t::partial_init | ( | class(rough_log_law_t), intent(inout) | this, | 
| type(coef_t), intent(in) | coef, | ||
| type(json_file), intent(inout) | json | ||
| ) | 
| coef | SEM coefficients. | 
| json | A dictionary with parameters. | 
Definition at line 67 of file rough_log_law.f90.
      
  | 
  pure virtualinherited | 
Definition at line 129 of file wall_model.f90.
      
  | 
  inherited | 
| 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 59 of file rough_log_law.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.
      
  | 
  inherited | 
Definition at line 102 of file wall_model.f90.
      
  | 
  inherited | 
Definition at line 104 of file wall_model.f90.
      
  | 
  inherited | 
Definition at line 99 of file wall_model.f90.
      
  | 
  inherited | 
Definition at line 100 of file wall_model.f90.
      
  | 
  inherited | 
Definition at line 90 of file wall_model.f90.
      
  | 
  inherited | 
Definition at line 91 of file wall_model.f90.
      
  | 
  inherited | 
Definition at line 93 of file wall_model.f90.
      
  | 
  inherited | 
Definition at line 94 of file wall_model.f90.
      
  | 
  inherited | 
Definition at line 96 of file wall_model.f90.
      
  | 
  inherited | 
Definition at line 97 of file wall_model.f90.
Definition at line 57 of file rough_log_law.f90.
Definition at line 73 of file wall_model.f90.
      
  | 
  inherited | 
Definition at line 74 of file wall_model.f90.
Definition at line 65 of file wall_model.f90.
      
  | 
  inherited | 
Definition at line 106 of file wall_model.f90.
      
  | 
  inherited | 
Definition at line 84 of file wall_model.f90.
      
  | 
  inherited | 
Definition at line 86 of file wall_model.f90.
      
  | 
  inherited | 
Definition at line 88 of file wall_model.f90.
Definition at line 67 of file wall_model.f90.
      
  | 
  inherited | 
Definition at line 71 of file wall_model.f90.
Definition at line 108 of file wall_model.f90.
      
  | 
  inherited | 
Definition at line 78 of file wall_model.f90.
      
  | 
  inherited | 
Definition at line 80 of file wall_model.f90.
      
  | 
  inherited | 
Definition at line 82 of file wall_model.f90.
Definition at line 61 of file rough_log_law.f90.