|
Neko 1.99.3
A portable framework for high-order spectral element flow simulations
|
Implements the CPU kernel for the richardson_t type.
Data Types | |
| interface | heat_flux_interface |
| interface | tau_interface |
Functions/Subroutines | |
| subroutine | compute_ri_b (bc_type, g_dot_n, hi, ti, ts, magu, kappa, q, ri_b) |
| Computes the Richardson number. | |
| subroutine | assign_bc_value (bc_type, bc_value, q, ts, ti, kappa, utau, z0h, hi) |
| Initialises q when the temperature surface bc is dirichlet. | |
| subroutine | set_stability_regime (ri_b, ri_threshold) |
| Sets the stability regime based on the Richardson number value (quite arbitrary). | |
| subroutine, public | 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 | 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 | heat_flux_stable (ti, ts, ri_b, h, magu, z0h, pr, l, utau, kappa) |
| real(kind=rp) function | f_tau_stable (ri_b) |
| real(kind=rp) function | f_theta_stable (ri_b) |
| real(kind=rp) function | 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 | heat_flux_convective (ti, ts, ri_b, h, magu, z0h, pr, l, utau, kappa) |
| real(kind=rp) function | f_tau_convective (ri_b, c) |
| real(kind=rp) function | f_theta_convective (ri_b, c) |
| real(kind=rp) function | tau_neutral (magu, ri_b, h, z0, l, kappa) |
| Similarity laws and corrections for the NEUTRAL regime: | |
| real(kind=rp) function | heat_flux_neutral (ti, ts, ri_b, h, magu, z0h, pr, l, utau, kappa) |
Variables | |
| procedure(tau_interface), pointer | tau_ptr => null() |
| procedure(heat_flux_interface), pointer | heat_flux_ptr => null() |
|
private |
|
private |
|
private |
Definition at line 281 of file richardson_cpu.f90.


|
private |
|
private |
Definition at line 242 of file richardson_cpu.f90.


| subroutine, public richardson_cpu::richardson_compute_cpu | ( | real(kind=rp), dimension(lx, lx, lx, nelv), intent(in) | u, |
| real(kind=rp), dimension(lx, lx, lx, nelv), intent(in) | v, | ||
| real(kind=rp), dimension(lx, lx, lx, nelv), intent(in) | w, | ||
| real(kind=rp), dimension(lx, lx, lx, nelv), intent(in) | temp, | ||
| integer, dimension(n_nodes), intent(in) | ind_r, | ||
| integer, dimension(n_nodes), intent(in) | ind_s, | ||
| integer, dimension(n_nodes), intent(in) | ind_t, | ||
| integer, dimension(n_nodes), intent(in) | ind_e, | ||
| real(kind=rp), dimension(n_nodes), intent(in) | n_x, | ||
| real(kind=rp), dimension(n_nodes), intent(in) | n_y, | ||
| real(kind=rp), dimension(n_nodes), intent(in) | n_z, | ||
| real(kind=rp), dimension(n_nodes), intent(in) | h, | ||
| real(kind=rp), dimension(n_nodes), intent(inout) | tau_x, | ||
| real(kind=rp), dimension(n_nodes), intent(inout) | tau_y, | ||
| real(kind=rp), dimension(n_nodes), intent(inout) | tau_z, | ||
| integer, intent(in) | n_nodes, | ||
| integer, intent(in) | lx, | ||
| integer, intent(in) | nelv, | ||
| real(kind=rp), intent(in) | kappa, | ||
| real(kind=rp), dimension(n_nodes), intent(in) | mu_w, | ||
| real(kind=rp), dimension(n_nodes), intent(in) | rho_w, | ||
| real(kind=rp), dimension(3), intent(in) | g_vec, | ||
| real(kind=rp), intent(in) | pr, | ||
| real(kind=rp), intent(in) | z0, | ||
| real(kind=rp), intent(in) | z0h_in, | ||
| character(len=*), intent(in) | bc_type, | ||
| real(kind=rp), intent(in) | bc_value, | ||
| integer, intent(in) | tstep, | ||
| real(kind=rp), dimension(n_nodes), intent(inout) | ri_b_diagn, | ||
| real(kind=rp), dimension(n_nodes), intent(inout) | l_ob_diagn, | ||
| real(kind=rp), dimension(n_nodes), intent(inout) | utau_diagn, | ||
| real(kind=rp), dimension(n_nodes), intent(inout) | magu_diagn, | ||
| real(kind=rp), dimension(n_nodes), intent(inout) | ti_diagn, | ||
| real(kind=rp), dimension(n_nodes), intent(inout) | ts_diagn, | ||
| real(kind=rp), dimension(n_nodes), intent(inout) | q_diagn, | ||
| integer, dimension(n_nodes), intent(in) | h_x_idx, | ||
| integer, dimension(n_nodes), intent(in) | h_y_idx, | ||
| integer, dimension(n_nodes), intent(in) | h_z_idx | ||
| ) |
| tstep | The current time-step |
Definition at line 121 of file richardson_cpu.f90.


|
private |
Definition at line 104 of file richardson_cpu.f90.


|
private |
Definition at line 269 of file richardson_cpu.f90.


|
private |
Definition at line 234 of file richardson_cpu.f90.


|
private |
Definition at line 64 of file richardson_cpu.f90.
|
private |
Definition at line 63 of file richardson_cpu.f90.