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

Contains module m_ib_patches. More...

Go to the source code of this file.

Modules

module  m_ib_patches
 Allocate memory and read initial condition data for IC extrusion.

Functions/Subroutines

subroutine, public m_ib_patches::s_instantiate_stl_models ()
subroutine m_ib_patches::s_ib_circle (patch_id, ib_markers_sf)
 The circular patch is a 2D geometry that may be used, for example, in creating a bubble or a droplet. The geometry of the patch is well-defined when its centroid and radius are provided. Note that the circular patch DOES allow for the smoothing of its boundary.
subroutine m_ib_patches::s_ib_airfoil (patch_id, ib_markers_sf)
 Marks cells inside a 2D NACA 4-digit airfoil immersed boundary using upper and lower surface grids.
subroutine m_ib_patches::s_ib_3d_airfoil (patch_id, ib_markers_sf)
 Marks cells inside a 3D extruded NACA 4-digit airfoil immersed boundary with finite span.
subroutine m_ib_patches::s_ib_rectangle (patch_id, ib_markers_sf)
 The rectangular patch is a 2D geometry that may be used, for example, in creating a solid boundary, or pre-/post- shock region, in alignment with the axes of the Cartesian coordinate system. The geometry of such a patch is well- defined when its centroid and lengths in the x- and y- coordinate directions are provided. Please note that the rectangular patch DOES NOT allow for the smoothing of its boundaries.
subroutine m_ib_patches::s_ib_sphere (patch_id, ib_markers_sf)
 The spherical patch is a 3D geometry that may be used, for example, in creating a bubble or a droplet. The patch geometry is well-defined when its centroid and radius are provided. Please note that the spherical patch DOES allow for the smoothing of its boundary.
subroutine m_ib_patches::s_ib_cuboid (patch_id, ib_markers_sf)
 The cuboidal patch is a 3D geometry that may be used, for example, in creating a solid boundary, or pre-/post-shock region, which is aligned with the axes of the Cartesian coordinate system. The geometry of such a patch is well- defined when its centroid and lengths in the x-, y- and z-coordinate directions are provided. Please notice that the cuboidal patch DOES NOT allow for the smearing of its boundaries.
subroutine m_ib_patches::s_ib_cylinder (patch_id, ib_markers_sf)
 The cylindrical patch is a 3D geometry that may be used, for example, in setting up a cylindrical solid boundary confinement, like a blood vessel. The geometry of this patch is well-defined when the centroid, the radius and the length along the cylinder's axis, parallel to the x-, y- or z-coordinate direction, are provided. Please note that the cylindrical patch DOES allow for the smoothing of its lateral boundary.
subroutine m_ib_patches::s_ib_ellipse (patch_id, ib_markers_sf)
 Marks cells inside a 2D elliptical immersed boundary defined by semi-axis lengths and rotation.
subroutine m_ib_patches::s_ib_model (patch_id, ib_markers_sf)
 The STL patch is a 2/3D geometry that is imported from an STL file.
subroutine, public m_ib_patches::s_update_ib_rotation_matrix (patch_id)
 Subroutine that computes a rotation matrix for converting to the rotating frame of the boundary.
subroutine m_ib_patches::s_convert_cylindrical_to_cartesian_coord (cyl_y, cyl_z)
 Converts cylindrical (r, theta) coordinates to Cartesian (y, z) and stores in module variables.
pure real(wp) function, dimension(1:3), public m_ib_patches::f_convert_cyl_to_cart (cyl)
 Converts a 3D cylindrical coordinate vector (x, r, theta) to Cartesian (x, y, z).
subroutine m_ib_patches::s_convert_cylindrical_to_spherical_coord (cyl_x, cyl_y)
 Converts cylindrical coordinates (x, r) to the spherical azimuthal angle phi and stores in a module variable.
pure elemental real(wp) function m_ib_patches::f_r (myth, offset, a)
 Archimedes spiral function.
impure subroutine, public m_ib_patches::s_apply_ib_patches (ib_markers_sf)
 Applies all immersed boundary patch geometries to mark interior cells in the IB marker array.

Variables

real(wpm_ib_patches::x_centroid
real(wpm_ib_patches::y_centroid
real(wpm_ib_patches::z_centroid
real(wpm_ib_patches::length_x
real(wpm_ib_patches::length_y
real(wpm_ib_patches::length_z
integer m_ib_patches::smooth_patch_id
real(wpm_ib_patches::smooth_coeff
real(wpm_ib_patches::cart_x
real(wpm_ib_patches::cart_y
real(wpm_ib_patches::cart_z
real(wpm_ib_patches::sph_phi
type(bounds_infom_ib_patches::x_boundary
type(bounds_infom_ib_patches::y_boundary
type(bounds_infom_ib_patches::z_boundary
character(len=5) m_ib_patches::istr
type(t_model_array), dimension(:), allocatable, target, public m_ib_patches::models

Detailed Description

Contains module m_ib_patches.

Definition in file m_ib_patches.fpp.f90.