Neko 1.99.3
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
richardson_cpu.f90 File Reference

Go to the source code of this file.

Data Types

interface  richardson_cpu::tau_interface
 
interface  richardson_cpu::heat_flux_interface
 

Modules

module  richardson_cpu
 Implements the CPU kernel for the richardson_t type.
 

Functions/Subroutines

subroutine richardson_cpu::compute_ri_b (bc_type, g_dot_n, hi, ti, ts, magu, kappa, q, ri_b)
 Computes the Richardson number.
 
subroutine richardson_cpu::assign_bc_value (bc_type, bc_value, q, ts, ti, kappa, utau, z0h, hi)
 Initialises q when the temperature surface bc is dirichlet.
 
subroutine richardson_cpu::set_stability_regime (ri_b, ri_threshold)
 Sets the stability regime based on the Richardson number value (quite arbitrary).
 
subroutine, public richardson_cpu::richardson_compute_cpu (u, v, w, temp, ind_r, ind_s, ind_t, ind_e, n_x, n_y, n_z, h, tau_x, tau_y, tau_z, n_nodes, lx, nelv, kappa, mu_w, rho_w, g_vec, pr, z0, z0h_in, bc_type, bc_value, tstep, ri_b_diagn, l_ob_diagn, utau_diagn, magu_diagn, ti_diagn, ts_diagn, q_diagn, h_x_idx, h_y_idx, h_z_idx)
 Main routine to compute the surface stresses based on richardson.
 
real(kind=rp) function richardson_cpu::tau_stable (magu, ri_b, h, z0, l, kappa)
 Similarity laws and corrections for the STABLE regime: Based on Mauritsen et al. 2007.
 
real(kind=rp) function richardson_cpu::heat_flux_stable (ti, ts, ri_b, h, magu, z0h, pr, l, utau, kappa)
 
real(kind=rp) function richardson_cpu::f_tau_stable (ri_b)
 
real(kind=rp) function richardson_cpu::f_theta_stable (ri_b)
 
real(kind=rp) function richardson_cpu::tau_convective (magu, ri_b, h, z0, l, kappa)
 Similarity laws and corrections for the UNSTABLE (convective) regime: Based on Louis 1979.
 
real(kind=rp) function richardson_cpu::heat_flux_convective (ti, ts, ri_b, h, magu, z0h, pr, l, utau, kappa)
 
real(kind=rp) function richardson_cpu::f_tau_convective (ri_b, c)
 
real(kind=rp) function richardson_cpu::f_theta_convective (ri_b, c)
 
real(kind=rp) function richardson_cpu::tau_neutral (magu, ri_b, h, z0, l, kappa)
 Similarity laws and corrections for the NEUTRAL regime:
 
real(kind=rp) function richardson_cpu::heat_flux_neutral (ti, ts, ri_b, h, magu, z0h, pr, l, utau, kappa)
 

Variables

procedure(tau_interface), pointer richardson_cpu::tau_ptr => null()
 
procedure(heat_flux_interface), pointer richardson_cpu::heat_flux_ptr => null()