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

MUSCL reconstruction with interface sharpening for contact-preserving advection. More...

Functions/Subroutines

subroutine, public s_initialize_muscl_module ()
subroutine, public s_muscl (v_vf, vl_rs_vf_x, vl_rs_vf_y, vl_rs_vf_z, vr_rs_vf_x, vr_rs_vf_y, vr_rs_vf_z, muscl_dir, is1_muscl_d, is2_muscl_d, is3_muscl_d)
 Performs MUSCL reconstruction of left and right cell-boundary values from cell-averaged variables.
subroutine, public s_interface_compression (vl_rs_vf_x, vl_rs_vf_y, vl_rs_vf_z, vr_rs_vf_x, vr_rs_vf_y, vr_rs_vf_z, muscl_dir, is1_muscl_d, is2_muscl_d, is3_muscl_d)
 Applies THINC interface-compression to sharpen volume-fraction reconstructions at material interfaces.
subroutine s_initialize_muscl (v_vf, muscl_dir)
 Reshapes cell-averaged variable data into direction-local work arrays for MUSCL reconstruction.
subroutine, public s_finalize_muscl_module ()
 Deallocates the MUSCL direction-local work arrays.

Variables

integer v_size
type(int_bounds_infois1_muscl
type(int_bounds_infois2_muscl
type(int_bounds_infois3_muscl
The cell-average variables that will be MUSCL-reconstructed. Formerly, they

are stored in v_vf. However, they are transferred to v_rs_wsL and v_rs_wsR as to be reshaped (RS) and/or characteristically decomposed. The reshaping allows the muscl procedure to be independent of the coordinate direction of the reconstruction. Lastly, notice that the left (L) and right (R) results of the characteristic decomposition are stored in custom-constructed muscl- stencils (WS) that are annexed to each position of a given scalar field.

real(wp), dimension(:, :, :, :), allocatable v_rs_ws_x_muscl
real(wp), dimension(:, :, :, :), allocatable v_rs_ws_y_muscl
real(wp), dimension(:, :, :, :), allocatable v_rs_ws_z_muscl

Detailed Description

MUSCL reconstruction with interface sharpening for contact-preserving advection.

Function/Subroutine Documentation

◆ s_finalize_muscl_module()

subroutine, public m_muscl::s_finalize_muscl_module

Deallocates the MUSCL direction-local work arrays.

Definition at line 1492 of file m_muscl.fpp.f90.

Here is the caller graph for this function:

◆ s_initialize_muscl()

subroutine m_muscl::s_initialize_muscl ( type(scalar_field), dimension(:), intent(in) v_vf,
integer, intent(in) muscl_dir )

Reshapes cell-averaged variable data into direction-local work arrays for MUSCL reconstruction.

Definition at line 1303 of file m_muscl.fpp.f90.

Here is the caller graph for this function:

◆ s_initialize_muscl_module()

subroutine, public m_muscl::s_initialize_muscl_module

Definition at line 365 of file m_muscl.fpp.f90.

Here is the caller graph for this function:

◆ s_interface_compression()

subroutine, public m_muscl::s_interface_compression ( real(wp), dimension(idwbuff(1)%beg:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:), intent(inout) vl_rs_vf_x,
real(wp), dimension(idwbuff(1)%beg:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:), intent(inout) vl_rs_vf_y,
real(wp), dimension(idwbuff(1)%beg:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:), intent(inout) vl_rs_vf_z,
real(wp), dimension(idwbuff(1)%beg:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:), intent(inout) vr_rs_vf_x,
real(wp), dimension(idwbuff(1)%beg:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:), intent(inout) vr_rs_vf_y,
real(wp), dimension(idwbuff(1)%beg:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:), intent(inout) vr_rs_vf_z,
integer, intent(in) muscl_dir,
type(int_bounds_info), intent(in) is1_muscl_d,
type(int_bounds_info), intent(in) is2_muscl_d,
type(int_bounds_info), intent(in) is3_muscl_d )

Applies THINC interface-compression to sharpen volume-fraction reconstructions at material interfaces.

Definition at line 995 of file m_muscl.fpp.f90.

Here is the caller graph for this function:

◆ s_muscl()

subroutine, public m_muscl::s_muscl ( type(scalar_field), dimension(1:), intent(in) v_vf,
real(wp), dimension(idwbuff(1)%beg:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:), intent(inout) vl_rs_vf_x,
real(wp), dimension(idwbuff(1)%beg:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:), intent(inout) vl_rs_vf_y,
real(wp), dimension(idwbuff(1)%beg:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:), intent(inout) vl_rs_vf_z,
real(wp), dimension(idwbuff(1)%beg:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:), intent(inout) vr_rs_vf_x,
real(wp), dimension(idwbuff(1)%beg:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:), intent(inout) vr_rs_vf_y,
real(wp), dimension(idwbuff(1)%beg:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:), intent(inout) vr_rs_vf_z,
integer, intent(in) muscl_dir,
type(int_bounds_info), intent(in) is1_muscl_d,
type(int_bounds_info), intent(in) is2_muscl_d,
type(int_bounds_info), intent(in) is3_muscl_d )

Performs MUSCL reconstruction of left and right cell-boundary values from cell-averaged variables.

Definition at line 514 of file m_muscl.fpp.f90.

Here is the call graph for this function:

Variable Documentation

◆ is1_muscl

type(int_bounds_info) m_muscl::is1_muscl

Definition at line 328 of file m_muscl.fpp.f90.

◆ is2_muscl

type(int_bounds_info) m_muscl::is2_muscl

Definition at line 328 of file m_muscl.fpp.f90.

◆ is3_muscl

type(int_bounds_info) m_muscl::is3_muscl

Definition at line 328 of file m_muscl.fpp.f90.

◆ v_rs_ws_x_muscl

real(wp), dimension(:, :, :, :), allocatable m_muscl::v_rs_ws_x_muscl

Definition at line 349 of file m_muscl.fpp.f90.

◆ v_rs_ws_y_muscl

real(wp), dimension(:, :, :, :), allocatable m_muscl::v_rs_ws_y_muscl

Definition at line 349 of file m_muscl.fpp.f90.

◆ v_rs_ws_z_muscl

real(wp), dimension(:, :, :, :), allocatable m_muscl::v_rs_ws_z_muscl

Definition at line 349 of file m_muscl.fpp.f90.

◆ v_size

integer m_muscl::v_size

Definition at line 315 of file m_muscl.fpp.f90.