MFC
Exascale flow solver
Loading...
Searching...
No Matches
m_ibm.fpp.f90 File Reference

Contains module m_ibm. More...

Go to the source code of this file.

Modules

module  m_ibm
 Ghost-node immersed boundary method: locates ghost/image points, computes interpolation coefficients, and corrects the flow state.

Functions/Subroutines

impure subroutine, public m_ibm::s_initialize_ibm_module ()
 Allocates memory for the variables in the IBM module.
impure subroutine, public m_ibm::s_ibm_setup ()
 Initializes the values of various IBM variables, such as ghost points and image points.
subroutine m_ibm::s_populate_ib_buffers ()
 Exchanges immersed boundary marker data across MPI subdomain boundaries.
subroutine, public m_ibm::s_ibm_correct_state (q_cons_vf, q_prim_vf, pb_in, mv_in)
 Subroutine that updates the conservative variables at the ghost points.
impure subroutine, private m_ibm::s_compute_image_points (ghost_points_in)
 Function that computes the image points for each ghost point.
subroutine, private m_ibm::s_find_num_ghost_points (num_gps_out, num_inner_gps_out)
 Function that finds the number of ghost points, used for allocating memory.
subroutine, private m_ibm::s_find_ghost_points (ghost_points_in, inner_points_in)
 Function that finds the ghost points.
subroutine, private m_ibm::s_compute_interpolation_coeffs (ghost_points_in)
 Function that computes the interpolation coefficients of image points.
subroutine, private m_ibm::s_interpolate_image_point (q_prim_vf, gp, alpha_rho_ip, alpha_ip, pres_ip, vel_ip, c_ip, r_ip, v_ip, pb_ip, mv_ip, nmom_ip, pb_in, mv_in, presb_ip, massv_ip)
 Function that uses the interpolation coefficients and the current state at the cell centers in order to estimate the state at the image point.
impure subroutine m_ibm::s_update_mib (num_ibs)
 Resets the current indexes of immersed boundaries and replaces them after updating the position of each moving immersed boundary.
subroutine m_ibm::s_compute_ib_forces (q_prim_vf, fluid_pp)
 Computes pressure and viscous forces and torques on immersed bodies via a volume integration method.
impure subroutine, public m_ibm::s_finalize_ibm_module ()
 Subroutine to deallocate memory reserved for the IBM module.
subroutine m_ibm::s_compute_centroid_offset (ib_marker)
 Computes the center of mass for IB patch types where we are unable to determine their center of mass analytically. These patches include things like NACA airfoils and STL models.
subroutine m_ibm::s_compute_moment_of_inertia (ib_marker, axis)
 Computes the moment of inertia for an immersed boundary.
subroutine m_ibm::s_cross_product (a, b, c)
 Computes the cross product c = a x b of two 3D vectors.

Variables

type(integer_field), public m_ibm::ib_markers
type(ghost_point), dimension(:), allocatable m_ibm::ghost_points
type(ghost_point), dimension(:), allocatable m_ibm::inner_points
integer m_ibm::num_gps
 Number of ghost points.
integer m_ibm::num_inner_gps
 Number of ghost points.
logical m_ibm::moving_immersed_boundary_flag

Detailed Description

Contains module m_ibm.

Definition in file m_ibm.fpp.f90.