|
Neko 1.99.1
A portable framework for high-order spectral element flow simulations
|
This module implements CPU-based residual calculations for the Euler equations.
Data Types | |
| type | euler_res_cpu_t |
Functions/Subroutines | |
| subroutine | advance_primitive_variables_cpu (rho_field, m_x, m_y, m_z, e, p, u, v, w, ax, coef, gs, h, c_avisc_low, rk_scheme, dt) |
| Advances the primitive variables (density, momentum, energy) in time using a Runge-Kutta scheme. | |
| subroutine | evaluate_rhs_cpu (rhs_rho_field, rhs_m_x, rhs_m_y, rhs_m_z, rhs_e, rho_field, m_x, m_y, m_z, e, p, u, v, w, ax, coef, gs, h, c_avisc_low) |
| Evaluates the right-hand side of the Euler equations Computes fluxes, divergence terms, and artificial viscosity. | |
| subroutine euler_res_cpu::advance_primitive_variables_cpu | ( | type(field_t), intent(inout) | rho_field, |
| type(field_t), intent(inout) | m_x, | ||
| type(field_t), intent(inout) | m_y, | ||
| type(field_t), intent(inout) | m_z, | ||
| type(field_t), intent(inout) | e, | ||
| type(field_t), intent(in) | p, | ||
| type(field_t), intent(in) | u, | ||
| type(field_t), intent(in) | v, | ||
| type(field_t), intent(in) | w, | ||
| class(ax_t), intent(inout) | ax, | ||
| type(coef_t), intent(inout) | coef, | ||
| type(gs_t), intent(inout) | gs, | ||
| type(field_t), intent(in) | h, | ||
| real(kind=rp) | c_avisc_low, | ||
| class(runge_kutta_time_scheme_t), intent(in) | rk_scheme, | ||
| real(kind=rp), intent(in) | dt | ||
| ) |
| rho_field | Density field |
| m_x,m_y,m_z | Momentum components |
| E | Total energy |
| p | Pressure field |
| u,v,w | Velocity components |
| Ax | Matrix-vector product operator |
| coef | Coefficients for spatial discretization |
| gs | Gather-scatter operator for parallel communication |
| h | Mesh size field |
| c_avisc_low | Low-order artificial viscosity coefficient |
| rk_scheme | Runge-Kutta time integration scheme |
| dt | Time step size |
Definition at line 74 of file euler_res_cpu.f90.

|
private |
| rhs_rho_field | Output array for density RHS terms |
| rhs_m_x | Output array for x-momentum RHS terms |
| rhs_m_y | Output array for y-momentum RHS terms |
| rhs_m_z | Output array for z-momentum RHS terms |
| rhs_E | Output array for energy RHS terms |
| rho_field | Input density field |
| m_x | Input x-momentum field |
| m_y | Input y-momentum field |
| m_z | Input z-momentum field |
| E | Input total energy field |
| p | Input pressure field |
| u | Input x-velocity field |
| v | Input y-velocity field |
| w | Input z-velocity field |
| Ax | Matrix-vector product operator |
| coef | Spatial discretization coefficients |
| gs | Gather-scatter operator for parallel communication |
| h | Mesh size field |
| c_avisc_low | Low-order artificial viscosity coefficient |
rho = rho - dt * div(m)
m = m - dt * div(rho * u * u^T + p*I)
E = E - dt * div(u * (E + p))
Definition at line 226 of file euler_res_cpu.f90.

