|
MFC
Exascale flow solver
|
Ghost-node immersed boundary method: locates ghost/image points, computes interpolation coefficients, and corrects the flow state. More...
Functions/Subroutines | |
| impure subroutine, public | s_initialize_ibm_module () |
| Allocates memory for the variables in the IBM module. | |
| impure subroutine, public | s_ibm_setup () |
| Initializes the values of various IBM variables, such as ghost points and image points. | |
| subroutine, public | 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 | s_compute_image_points (ghost_points_in) |
| Function that computes the image points for each ghost point. | |
| subroutine, private | s_find_num_ghost_points (num_gps_out, num_inner_gps_out) |
| Subroutine that finds the number of ghost points, used for allocating memory. | |
| subroutine, private | s_find_ghost_points (ghost_points_in, inner_points_in) |
| Function that finds the ghost points. | |
| subroutine, private | s_compute_interpolation_coeffs (ghost_points_in) |
| Function that computes the interpolation coefficients of image points. | |
| subroutine, private | 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 | 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 | 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 | s_finalize_ibm_module () |
| Subroutine to deallocate memory reserved for the IBM module. | |
| subroutine | 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 | s_compute_moment_of_inertia (ib_marker, axis) |
| Computes the moment of inertia for an immersed boundary. | |
| subroutine | s_wrap_periodic_ibs () |
| Checks for periodic boundary conditions in all directions, and if so, moves patch location if it left the domain. | |
| subroutine | s_cross_product (a, b, c) |
| Computes the cross product c = a x b of two 3D vectors. | |
Variables | |
| type(integer_field), public | ib_markers |
| type(ghost_point), dimension(:), allocatable | ghost_points |
| type(ghost_point), dimension(:), allocatable | inner_points |
| integer | num_gps |
| Number of ghost points. | |
| integer | num_inner_gps |
| Number of ghost points. | |
| logical | moving_immersed_boundary_flag |
Ghost-node immersed boundary method: locates ghost/image points, computes interpolation coefficients, and corrects the flow state.
| subroutine m_ibm::s_compute_centroid_offset | ( | integer, intent(in) | 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.
Definition at line 2482 of file m_ibm.fpp.f90.
| subroutine m_ibm::s_compute_ib_forces | ( | type(scalar_field), dimension(1:sys_size), intent(in) | q_prim_vf, |
| type(physical_parameters), dimension(1:num_fluids), intent(in) | fluid_pp ) |
Computes pressure and viscous forces and torques on immersed bodies via a volume integration method.
Definition at line 2168 of file m_ibm.fpp.f90.
|
private |
Function that computes the image points for each ghost point.
| ghost_points_in | Ghost Points |
Definition at line 1276 of file m_ibm.fpp.f90.
|
private |
Function that computes the interpolation coefficients of image points.
Definition at line 1705 of file m_ibm.fpp.f90.
| subroutine m_ibm::s_compute_moment_of_inertia | ( | integer, intent(in) | ib_marker, |
| real(wp), dimension(3), intent(in) | axis ) |
Computes the moment of inertia for an immersed boundary.
| ib_marker | Immersed boundary marker index | |
| [in] | axis | the axis about which we compute the moment. Only required in 3D. |
Definition at line 2540 of file m_ibm.fpp.f90.
| subroutine m_ibm::s_cross_product | ( | real(wp), dimension(3), intent(in) | a, |
| real(wp), dimension(3), intent(in) | b, | ||
| real(wp), dimension(3), intent(out) | c ) |
Computes the cross product c = a x b of two 3D vectors.
Definition at line 2732 of file m_ibm.fpp.f90.
| impure subroutine, public m_ibm::s_finalize_ibm_module |
Subroutine to deallocate memory reserved for the IBM module.
Definition at line 2380 of file m_ibm.fpp.f90.
|
private |
Function that finds the ghost points.
Definition at line 1533 of file m_ibm.fpp.f90.
|
private |
Subroutine that finds the number of ghost points, used for allocating memory.
Definition at line 1424 of file m_ibm.fpp.f90.
| subroutine, public m_ibm::s_ibm_correct_state | ( | type(scalar_field), dimension(sys_size), intent(inout) | q_cons_vf, |
| type(scalar_field), dimension(sys_size), intent(inout) | q_prim_vf, | ||
| real(stp), dimension(idwbuff(1)%beg:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:, 1:), intent(inout), optional | pb_in, | ||
| real(stp), dimension(idwbuff(1)%beg:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:, 1:), intent(inout), optional | mv_in ) |
Subroutine that updates the conservative variables at the ghost points.
| pb_in | Internal bubble pressure | |
| mv_in | Mass of vapor in bubble | |
| [in,out] | q_cons_vf | Primitive Variables |
| [in,out] | q_prim_vf | Primitive Variables |
Definition at line 778 of file m_ibm.fpp.f90.
| impure subroutine, public m_ibm::s_ibm_setup |
Initializes the values of various IBM variables, such as ghost points and image points.
Definition at line 571 of file m_ibm.fpp.f90.
| impure subroutine, public m_ibm::s_initialize_ibm_module |
Allocates memory for the variables in the IBM module.
Definition at line 389 of file m_ibm.fpp.f90.
|
private |
Function that uses the interpolation coefficients and the current state at the cell centers in order to estimate the state at the image point.
| gp | Ghost point data structure |
Interpolates primitive variables from the fluid domain to a ghost point's image point using bilinear or trilinear interpolation.
| alpha_rho_IP | Partial density at image point | |
| alpha_IP | Volume fraction at image point | |
| pres_IP | Pressure at image point | |
| vel_IP | Velocity at image point | |
| c_IP | Speed of sound at image point | |
| r_IP | Bubble radius at image point | |
| v_IP | Bubble radial velocity at image point | |
| pb_IP | Bubble pressure at image point | |
| mv_IP | Bubble vapor mass at image point | |
| nmom_IP | Bubble moment at image point | |
| pb_in | Internal bubble pressure array | |
| mv_in | Mass of vapor in bubble array | |
| presb_IP | Bubble node pressure at image point | |
| massv_IP | Bubble node vapor mass at image point | |
| [in] | q_prim_vf | Primitive Variables |
Definition at line 1871 of file m_ibm.fpp.f90.
| impure subroutine m_ibm::s_update_mib | ( | integer, intent(in) | num_ibs | ) |
Resets the current indexes of immersed boundaries and replaces them after updating the position of each moving immersed boundary.
Definition at line 2073 of file m_ibm.fpp.f90.
| subroutine m_ibm::s_wrap_periodic_ibs |
Checks for periodic boundary conditions in all directions, and if so, moves patch location if it left the domain.
Definition at line 2682 of file m_ibm.fpp.f90.
| type(ghost_point), dimension(:), allocatable m_ibm::ghost_points |
Definition at line 343 of file m_ibm.fpp.f90.
| type(integer_field), public m_ibm::ib_markers |
Definition at line 330 of file m_ibm.fpp.f90.
| type(ghost_point), dimension(:), allocatable m_ibm::inner_points |
Definition at line 344 of file m_ibm.fpp.f90.
| logical m_ibm::moving_immersed_boundary_flag |
Definition at line 384 of file m_ibm.fpp.f90.
| integer m_ibm::num_gps |
Number of ghost points.
Definition at line 357 of file m_ibm.fpp.f90.
| integer m_ibm::num_inner_gps |
Number of ghost points.
Definition at line 358 of file m_ibm.fpp.f90.