|
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 | s_convert_cylindrical_to_spherical_coord (cyl_x, cyl_y) |
| Convert cylindrical coordinates (x, r) to the spherical azimuthal angle phi. | |
| 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) | x_centroid |
| real(wp) | y_centroid |
| real(wp) | z_centroid |
| real(wp) | length_x |
| real(wp) | length_y |
| real(wp) | length_z |
| integer | smooth_patch_id |
| real(wp) | smooth_coeff |
| real(wp) | cart_x |
| real(wp) | cart_y |
| real(wp) | cart_z |
| real(wp) | sph_phi |
| type(bounds_info) | x_boundary |
| type(bounds_info) | y_boundary |
| type(bounds_info) | z_boundary |
| character(len=5) | istr |
| string to store int to string result for error checking | |
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 1900 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 2093 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 479 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 1874 of file m_ib_patches.fpp.f90.
| subroutine m_ib_patches::s_convert_cylindrical_to_spherical_coord | ( | real(wp), intent(in) | cyl_x, |
| real(wp), intent(in) | cyl_y ) |
Convert cylindrical coordinates (x, r) to the spherical azimuthal angle phi.
Definition at line 1926 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 2008 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 1990 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 2048 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 881 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 1711 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 612 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 540 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 1323 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 1421 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 1522 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 1604 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 1151 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 1234 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 1828 of file m_ib_patches.fpp.f90.
| real(wp) m_ib_patches::cart_x |
Definition at line 443 of file m_ib_patches.fpp.f90.
| real(wp) m_ib_patches::cart_y |
Definition at line 443 of file m_ib_patches.fpp.f90.
| real(wp) m_ib_patches::cart_z |
Definition at line 443 of file m_ib_patches.fpp.f90.
| character(len=5) m_ib_patches::istr |
string to store int to string result for error checking
Definition at line 474 of file m_ib_patches.fpp.f90.
| real(wp) m_ib_patches::length_x |
Definition at line 402 of file m_ib_patches.fpp.f90.
| real(wp) m_ib_patches::length_y |
Definition at line 402 of file m_ib_patches.fpp.f90.
| real(wp) m_ib_patches::length_z |
Definition at line 402 of file m_ib_patches.fpp.f90.
| real(wp) m_ib_patches::smooth_coeff |
Definition at line 427 of file m_ib_patches.fpp.f90.
| integer m_ib_patches::smooth_patch_id |
Definition at line 426 of file m_ib_patches.fpp.f90.
| real(wp) m_ib_patches::sph_phi |
Definition at line 444 of file m_ib_patches.fpp.f90.
| type(bounds_info) m_ib_patches::x_boundary |
Definition at line 458 of file m_ib_patches.fpp.f90.
| real(wp) m_ib_patches::x_centroid |
Definition at line 401 of file m_ib_patches.fpp.f90.
| type(bounds_info) m_ib_patches::y_boundary |
Definition at line 458 of file m_ib_patches.fpp.f90.
| real(wp) m_ib_patches::y_centroid |
Definition at line 401 of file m_ib_patches.fpp.f90.
| type(bounds_info) m_ib_patches::z_boundary |
Definition at line 458 of file m_ib_patches.fpp.f90.
| real(wp) m_ib_patches::z_centroid |
Definition at line 401 of file m_ib_patches.fpp.f90.