|
MFC
Exascale flow solver
|
Allocate memory and read initial condition data for IC extrusion. More...
Functions/Subroutines | |
| subroutine | s_ib_circle (patch_id, ib_markers, xp, yp) |
| Mark cells inside a circular immersed boundary. | |
| subroutine | s_ib_airfoil (patch_id, ib_markers, xp, yp) |
| Mark cells inside a 2D NACA 4-digit airfoil immersed boundary. | |
| subroutine | s_ib_3d_airfoil (patch_id, ib_markers, xp, yp, zp) |
| Mark cells inside a 3D extruded NACA 4-digit airfoil immersed boundary with finite span. | |
| subroutine | s_ib_rectangle (patch_id, ib_markers, xp, yp) |
| Mark cells inside a rectangular immersed boundary. | |
| subroutine | s_ib_sphere (patch_id, ib_markers, xp, yp, zp) |
| Mark cells inside a spherical immersed boundary. | |
| subroutine | s_ib_cuboid (patch_id, ib_markers, xp, yp, zp) |
| Mark cells inside a cuboidal immersed boundary. | |
| subroutine | s_ib_cylinder (patch_id, ib_markers, xp, yp, zp) |
| Mark cells inside a cylindrical immersed boundary. | |
| subroutine | s_ib_ellipse (patch_id, ib_markers, xp, yp) |
| Mark cells inside a 2D elliptical immersed boundary. | |
| subroutine | s_ib_model (patch_id, ib_markers, xp, yp) |
| The STL patch is a 2D geometry that is imported from an STL file. | |
| subroutine | s_ib_3d_model (patch_id, ib_markers, xp, yp, zp) |
| The STL patch is a 3D geometry that is imported from an STL file. | |
| subroutine, public | s_update_ib_rotation_matrix (patch_id) |
| Compute a rotation matrix for converting to the rotating frame of the boundary. | |
| subroutine | s_convert_cylindrical_to_cartesian_coord (cyl_y, cyl_z) |
| Convert cylindrical (r, theta) coordinates to Cartesian (y, z). | |
| pure real(wp) function, dimension(1:3), public | f_convert_cyl_to_cart (cyl) |
| Convert a 3D cylindrical coordinate vector (x, r, theta) to Cartesian (x, y, z). | |
| subroutine | get_bounding_indices (left_bound, right_bound, cell_centers, left_index, right_index) |
| subroutine | s_encode_patch_periodicity (patch_id, x_periodicity, y_periodicity, z_periodicity, encoded_patch_id) |
| Encode the patch ID with a unique offset containing periodicity information. | |
| subroutine, public | s_decode_patch_periodicity (encoded_patch_id, patch_id, x_periodicity, y_periodicity, z_periodicity) |
| Decode the encoded ID to recover the original patch ID and periodicity. | |
| subroutine | s_get_periodicities (xp_lower, xp_upper, yp_lower, yp_upper, zp_lower, zp_upper) |
| Determine the periodic wrapping bounds in each direction. | |
| pure elemental real(wp) function | f_r (myth, offset, a) |
| Archimedes spiral function. | |
| impure subroutine, public | s_apply_ib_patches (ib_markers) |
| Apply all immersed boundary patch geometries to mark interior cells in the IB marker array. | |
Variables | |
| real(wp) | cart_y |
| real(wp) | cart_z |
Allocate memory and read initial condition data for IC extrusion.
This macro handles the complete initialization process for IC extrusion by:
Memory Allocation:
File Reading Operations:
Grid Structure Detection:
MPI Domain Mapping:
Data Assignment:
State Management:
Immersed boundary patch geometry constructors for 2D and 3D shapes
| pure real(wp) function, dimension(1:3), public m_ib_patches::f_convert_cyl_to_cart | ( | real(wp), dimension(1:3), intent(in) | cyl | ) |
Convert a 3D cylindrical coordinate vector (x, r, theta) to Cartesian (x, y, z).
Definition at line 1845 of file m_ib_patches.fpp.f90.
| pure elemental real(wp) function m_ib_patches::f_r | ( | real(wp), intent(in) | myth, |
| real(wp), intent(in) | offset, | ||
| real(wp), intent(in) | a ) |
Archimedes spiral function.
Definition at line 2011 of file m_ib_patches.fpp.f90.
| impure subroutine, public m_ib_patches::s_apply_ib_patches | ( | type(integer_field), intent(inout) | ib_markers | ) |
Apply all immersed boundary patch geometries to mark interior cells in the IB marker array.
IB Patches
IB Patches
Definition at line 418 of file m_ib_patches.fpp.f90.
| subroutine m_ib_patches::s_convert_cylindrical_to_cartesian_coord | ( | real(wp), intent(in) | cyl_y, |
| real(wp), intent(in) | cyl_z ) |
Convert cylindrical (r, theta) coordinates to Cartesian (y, z).
Definition at line 1819 of file m_ib_patches.fpp.f90.
| subroutine, public m_ib_patches::s_decode_patch_periodicity | ( | integer, intent(in) | encoded_patch_id, |
| integer, intent(out) | patch_id, | ||
| integer, intent(out) | x_periodicity, | ||
| integer, intent(out) | y_periodicity, | ||
| integer, intent(out) | z_periodicity ) |
Decode the encoded ID to recover the original patch ID and periodicity.
Definition at line 1928 of file m_ib_patches.fpp.f90.
| subroutine m_ib_patches::s_encode_patch_periodicity | ( | integer, intent(in) | patch_id, |
| integer, intent(in) | x_periodicity, | ||
| integer, intent(in) | y_periodicity, | ||
| integer, intent(in) | z_periodicity, | ||
| integer, intent(out) | encoded_patch_id ) |
Encode the patch ID with a unique offset containing periodicity information.
Definition at line 1910 of file m_ib_patches.fpp.f90.
| subroutine m_ib_patches::s_get_periodicities | ( | integer, intent(out) | xp_lower, |
| integer, intent(out) | xp_upper, | ||
| integer, intent(out) | yp_lower, | ||
| integer, intent(out) | yp_upper, | ||
| integer, intent(out), optional | zp_lower, | ||
| integer, intent(out), optional | zp_upper ) |
Determine the periodic wrapping bounds in each direction.
Definition at line 1968 of file m_ib_patches.fpp.f90.
| subroutine m_ib_patches::s_ib_3d_airfoil | ( | integer, intent(in) | patch_id, |
| type(integer_field), intent(inout) | ib_markers, | ||
| integer, intent(in) | xp, | ||
| integer, intent(in) | yp, | ||
| integer, intent(in) | zp ) |
Mark cells inside a 3D extruded NACA 4-digit airfoil immersed boundary with finite span.
| [in] | zp | integers containing the periodicity projection information |
Definition at line 820 of file m_ib_patches.fpp.f90.
| subroutine m_ib_patches::s_ib_3d_model | ( | integer, intent(in) | patch_id, |
| type(integer_field), intent(inout) | ib_markers, | ||
| integer, intent(in) | xp, | ||
| integer, intent(in) | yp, | ||
| integer, intent(in) | zp ) |
The STL patch is a 3D geometry that is imported from an STL file.
| [in] | zp | integers containing the periodicity projection information |
Definition at line 1657 of file m_ib_patches.fpp.f90.
| subroutine m_ib_patches::s_ib_airfoil | ( | integer, intent(in) | patch_id, |
| type(integer_field), intent(inout) | ib_markers, | ||
| integer, intent(in) | xp, | ||
| integer, intent(in) | yp ) |
Mark cells inside a 2D NACA 4-digit airfoil immersed boundary.
| [in] | yp | integers containing the periodicity projection information |
Definition at line 551 of file m_ib_patches.fpp.f90.
| subroutine m_ib_patches::s_ib_circle | ( | integer, intent(in) | patch_id, |
| type(integer_field), intent(inout) | ib_markers, | ||
| integer, intent(in) | xp, | ||
| integer, intent(in) | yp ) |
Mark cells inside a circular immersed boundary.
| [in] | yp | integers containing the periodicity projection information |
Definition at line 479 of file m_ib_patches.fpp.f90.
| subroutine m_ib_patches::s_ib_cuboid | ( | integer, intent(in) | patch_id, |
| type(integer_field), intent(inout) | ib_markers, | ||
| integer, intent(in) | xp, | ||
| integer, intent(in) | yp, | ||
| integer, intent(in) | zp ) |
Mark cells inside a cuboidal immersed boundary.
| [in] | zp | integers containing the periodicity projection information |
Definition at line 1269 of file m_ib_patches.fpp.f90.
| subroutine m_ib_patches::s_ib_cylinder | ( | integer, intent(in) | patch_id, |
| type(integer_field), intent(inout) | ib_markers, | ||
| integer, intent(in) | xp, | ||
| integer, intent(in) | yp, | ||
| integer, intent(in) | zp ) |
Mark cells inside a cylindrical immersed boundary.
| [in] | zp | integers containing the periodicity projection information |
Definition at line 1367 of file m_ib_patches.fpp.f90.
| subroutine m_ib_patches::s_ib_ellipse | ( | integer, intent(in) | patch_id, |
| type(integer_field), intent(inout) | ib_markers, | ||
| integer, intent(in) | xp, | ||
| integer, intent(in) | yp ) |
Mark cells inside a 2D elliptical immersed boundary.
| [in] | yp | integers containing the periodicity projection information |
Definition at line 1468 of file m_ib_patches.fpp.f90.
| subroutine m_ib_patches::s_ib_model | ( | integer, intent(in) | patch_id, |
| type(integer_field), intent(inout) | ib_markers, | ||
| integer, intent(in) | xp, | ||
| integer, intent(in) | yp ) |
The STL patch is a 2D geometry that is imported from an STL file.
| [in] | yp | integers containing the periodicity projection information |
Definition at line 1550 of file m_ib_patches.fpp.f90.
| subroutine m_ib_patches::s_ib_rectangle | ( | integer, intent(in) | patch_id, |
| type(integer_field), intent(inout) | ib_markers, | ||
| integer, intent(in) | xp, | ||
| integer, intent(in) | yp ) |
Mark cells inside a rectangular immersed boundary.
| [in] | yp | integers containing the periodicity projection information |
Definition at line 1090 of file m_ib_patches.fpp.f90.
| subroutine m_ib_patches::s_ib_sphere | ( | integer, intent(in) | patch_id, |
| type(integer_field), intent(inout) | ib_markers, | ||
| integer, intent(in) | xp, | ||
| integer, intent(in) | yp, | ||
| integer, intent(in) | zp ) |
Mark cells inside a spherical immersed boundary.
| [in] | zp | integers containing the periodicity projection information |
Definition at line 1173 of file m_ib_patches.fpp.f90.
| subroutine, public m_ib_patches::s_update_ib_rotation_matrix | ( | integer, intent(in) | patch_id | ) |
Compute a rotation matrix for converting to the rotating frame of the boundary.
Definition at line 1774 of file m_ib_patches.fpp.f90.
| real(wp) m_ib_patches::cart_y |
Definition at line 401 of file m_ib_patches.fpp.f90.
| real(wp) m_ib_patches::cart_z |
Definition at line 401 of file m_ib_patches.fpp.f90.