MFC
Exascale flow solver
Loading...
Searching...
No Matches
m_igr Module Reference

Iterative ghost rasterization (IGR) for sharp immersed boundary treatment. More...

Functions/Subroutines

subroutine, public s_initialize_igr_module ()
 Allocates and initializes arrays, coefficients, and GPU data structures for the implicit gradient reconstruction module.
subroutine, public s_igr_iterative_solve (q_cons_vf, bc_type, t_step)
 Iteratively solves the implicit gradient reconstruction system using Jacobi or Gauss-Seidel relaxation.
subroutine, public s_igr_sigma_x (q_cons_vf, rhs_vf)
 Computes the IGR viscous stress contribution in the x-direction and accumulates it into the RHS.
subroutine, public s_igr_riemann_solver (q_cons_vf, rhs_vf, idir)
 Evaluates the approximate Riemann solver for the IGR scheme along a given coordinate direction.
subroutine s_get_derived_states (e_l, gamma_l, pi_inf_l, rho_l, vel_l, e_r, gamma_r, pi_inf_r, rho_r, vel_r, pres_l, pres_r, cfl)
 Computes pressure and maximum wavespeed from left and right reconstructed states for the IGR Riemann solver.
subroutine, public s_igr_flux_add (q_cons_vf, rhs_vf, flux_vf, idir)
 Accumulates the IGR numerical flux divergence into the right-hand side along the specified coordinate direction.
subroutine, public s_finalize_igr_module ()
 Deallocates all arrays and GPU resources allocated by the IGR module.

Variables

real(wp), dimension(:, :, :), allocatable, target jac
real(wp), dimension(:, :, :), allocatable jac_rhs
real(wp), dimension(:, :, :), allocatable jac_old
type(scalar_field), dimension(1) jac_sf
real(wp), dimension(:, :), allocatable res_igr
real(wpalf_igr
integer vidxb
integer vidxe
real(wp), dimension(:), allocatable coeff_l
real(wp), dimension(:), allocatable coeff_r
integer(kind=8) i
integer(kind=8) j
integer(kind=8) k
integer(kind=8) l
integer(kind=8) q
integer(kind=8) r

Detailed Description

Iterative ghost rasterization (IGR) for sharp immersed boundary treatment.

Function/Subroutine Documentation

◆ s_finalize_igr_module()

subroutine, public m_igr::s_finalize_igr_module

Deallocates all arrays and GPU resources allocated by the IGR module.

Definition at line 8310 of file m_igr.fpp.f90.

Here is the caller graph for this function:

◆ s_get_derived_states()

subroutine m_igr::s_get_derived_states ( real(wp), intent(in) e_l,
real(wp), intent(in) gamma_l,
real(wp), intent(in) pi_inf_l,
real(wp), intent(in) rho_l,
real(wp), dimension(num_dims), intent(in) vel_l,
real(wp), intent(in) e_r,
real(wp), intent(in) gamma_r,
real(wp), intent(in) pi_inf_r,
real(wp), intent(in) rho_r,
real(wp), dimension(num_dims), intent(in) vel_r,
real(wp), intent(out) pres_l,
real(wp), intent(out) pres_r,
real(wp), intent(out) cfl )

Computes pressure and maximum wavespeed from left and right reconstructed states for the IGR Riemann solver.

Definition at line 8076 of file m_igr.fpp.f90.

Here is the caller graph for this function:

◆ s_igr_flux_add()

subroutine, public m_igr::s_igr_flux_add ( type(scalar_field), dimension(sys_size), intent(inout) q_cons_vf,
type(scalar_field), dimension(sys_size), intent(inout) rhs_vf,
type(scalar_field), dimension(sys_size), intent(inout) flux_vf,
integer, intent(in) idir )

Accumulates the IGR numerical flux divergence into the right-hand side along the specified coordinate direction.

Definition at line 8139 of file m_igr.fpp.f90.

◆ s_igr_iterative_solve()

subroutine, public m_igr::s_igr_iterative_solve ( type(scalar_field), dimension(sys_size), intent(inout) q_cons_vf,
type(integer_field), dimension(1:num_dims, 1:2), intent(in) bc_type,
integer, intent(in) t_step )

Iteratively solves the implicit gradient reconstruction system using Jacobi or Gauss-Seidel relaxation.

Definition at line 1414 of file m_igr.fpp.f90.

◆ s_igr_riemann_solver()

subroutine, public m_igr::s_igr_riemann_solver ( type(scalar_field), dimension(sys_size), intent(inout) q_cons_vf,
type(scalar_field), dimension(sys_size), intent(inout) rhs_vf,
integer, intent(in) idir )

Evaluates the approximate Riemann solver for the IGR scheme along a given coordinate direction.

Definition at line 1877 of file m_igr.fpp.f90.

Here is the call graph for this function:

◆ s_igr_sigma_x()

subroutine, public m_igr::s_igr_sigma_x ( type(scalar_field), dimension(sys_size), intent(inout) q_cons_vf,
type(scalar_field), dimension(sys_size), intent(inout) rhs_vf )

Computes the IGR viscous stress contribution in the x-direction and accumulates it into the RHS.

Definition at line 1602 of file m_igr.fpp.f90.

◆ s_initialize_igr_module()

subroutine, public m_igr::s_initialize_igr_module

Allocates and initializes arrays, coefficients, and GPU data structures for the implicit gradient reconstruction module.

Definition at line 425 of file m_igr.fpp.f90.

Here is the caller graph for this function:

Variable Documentation

◆ alf_igr

real(wp) m_igr::alf_igr

Definition at line 379 of file m_igr.fpp.f90.

◆ coeff_l

real(wp), dimension(:), allocatable m_igr::coeff_l

Definition at line 406 of file m_igr.fpp.f90.

◆ coeff_r

real(wp), dimension(:), allocatable m_igr::coeff_r

Definition at line 406 of file m_igr.fpp.f90.

◆ i

integer(kind=8) m_igr::i

Definition at line 420 of file m_igr.fpp.f90.

◆ j

integer(kind=8) m_igr::j

Definition at line 420 of file m_igr.fpp.f90.

◆ jac

real(wp), dimension(:, :, :), allocatable, target m_igr::jac

Definition at line 337 of file m_igr.fpp.f90.

◆ jac_old

real(wp), dimension(:, :, :), allocatable m_igr::jac_old

Definition at line 338 of file m_igr.fpp.f90.

◆ jac_rhs

real(wp), dimension(:, :, :), allocatable m_igr::jac_rhs

Definition at line 338 of file m_igr.fpp.f90.

◆ jac_sf

type(scalar_field), dimension(1) m_igr::jac_sf

Definition at line 353 of file m_igr.fpp.f90.

◆ k

integer(kind=8) m_igr::k

Definition at line 420 of file m_igr.fpp.f90.

◆ l

integer(kind=8) m_igr::l

Definition at line 420 of file m_igr.fpp.f90.

◆ q

integer(kind=8) m_igr::q

Definition at line 420 of file m_igr.fpp.f90.

◆ r

integer(kind=8) m_igr::r

Definition at line 420 of file m_igr.fpp.f90.

◆ res_igr

real(wp), dimension(:, :), allocatable m_igr::res_igr

Definition at line 366 of file m_igr.fpp.f90.

◆ vidxb

integer m_igr::vidxb

Definition at line 393 of file m_igr.fpp.f90.

◆ vidxe

integer m_igr::vidxe

Definition at line 393 of file m_igr.fpp.f90.