|
MFC
Exascale flow solver
|
Contains module m_icpp_patches. More...
Go to the source code of this file.
Modules | |
| module | m_icpp_patches |
| Allocate memory and read initial condition data for IC extrusion. | |
Functions/Subroutines | |
| subroutine | m_icpp_patches::s_icpp_line_segment (patch_id, patch_id_fp, q_prim_vf) |
| The line segment patch is a 1D geometry that may be used, for example, in creating a Riemann problem. The geometry of the patch is well-defined when its centroid and length in the x-coordinate direction are provided. Note that the line segment patch DOES NOT allow for the smearing of its boundaries. | |
| impure subroutine | m_icpp_patches::s_icpp_spiral (patch_id, patch_id_fp, q_prim_vf) |
| The spiral patch is a 2D geometry that may be used, 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_icpp_patches::s_icpp_circle (patch_id, patch_id_fp, q_prim_vf) |
| 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_icpp_patches::s_icpp_varcircle (patch_id, patch_id_fp, q_prim_vf) |
| The varcircle patch is a 2D geometry that may be used . It generatres an annulus. | |
| subroutine | m_icpp_patches::s_icpp_3dvarcircle (patch_id, patch_id_fp, q_prim_vf) |
| Initializes a 3D variable-thickness circular annulus patch extruded along the z-axis. | |
| subroutine | m_icpp_patches::s_icpp_ellipse (patch_id, patch_id_fp, q_prim_vf) |
| The elliptical patch is a 2D geometry. The geometry of the patch is well-defined when its centroid and radii are provided. Note that the elliptical patch DOES allow for the smoothing of its boundary. | |
| subroutine | m_icpp_patches::s_icpp_ellipsoid (patch_id, patch_id_fp, q_prim_vf) |
| The ellipsoidal patch is a 3D geometry. The geometry of the patch is well-defined when its centroid and radii are provided. Note that the ellipsoidal patch DOES allow for the smoothing of its boundary. | |
| subroutine | m_icpp_patches::s_icpp_rectangle (patch_id, patch_id_fp, q_prim_vf) |
| 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_icpp_patches::s_icpp_sweep_line (patch_id, patch_id_fp, q_prim_vf) |
| The swept line patch is a 2D geometry that may be used, for example, in creating a solid boundary, or pre-/post- shock region, at an angle with respect to the axes of the Cartesian coordinate system. The geometry of the patch is well-defined when its centroid and normal vector, aimed in the sweep direction, are provided. Note that the sweep line patch DOES allow the smoothing of its boundary. | |
| subroutine | m_icpp_patches::s_icpp_2d_taylorgreen_vortex (patch_id, patch_id_fp, q_prim_vf) |
| The Taylor Green vortex is 2D decaying vortex that may be used, for example, to verify the effects of viscous attenuation. Geometry of the patch is well-defined when its centroid are provided. | |
| subroutine | m_icpp_patches::s_icpp_1d_bubble_pulse (patch_id, patch_id_fp, q_prim_vf) |
| Initializes a 1D bubble-pulse patch with analytical primitive variable profiles. | |
| subroutine | m_icpp_patches::s_icpp_spherical_harmonic (patch_id, patch_id_fp, q_prim_vf) |
| This patch generates the shape of the spherical harmonics as a perturbation to a perfect sphere. | |
| subroutine | m_icpp_patches::s_icpp_sphere (patch_id, patch_id_fp, q_prim_vf) |
| 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_icpp_patches::s_icpp_cuboid (patch_id, patch_id_fp, q_prim_vf) |
| 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_icpp_patches::s_icpp_cylinder (patch_id, patch_id_fp, q_prim_vf) |
| 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_icpp_patches::s_icpp_sweep_plane (patch_id, patch_id_fp, q_prim_vf) |
| The swept plane patch is a 3D geometry that may be used, for example, in creating a solid boundary, or pre-/post- shock region, at an angle with respect to the axes of the Cartesian coordinate system. The geometry of the patch is well-defined when its centroid and normal vector, aimed in the sweep direction, are provided. Note that the sweep plane patch DOES allow the smoothing of its boundary. | |
| subroutine | m_icpp_patches::s_icpp_model (patch_id, patch_id_fp, q_prim_vf) |
| The STL patch is a 2/3D geometry that is imported from an STL file. | |
| subroutine | m_icpp_patches::s_convert_cylindrical_to_cartesian_coord (cyl_y, cyl_z) |
| Converts cylindrical (r, theta) coordinates to Cartesian (y, z) module variables. | |
| real(wp) function, dimension(1:3) | m_icpp_patches::f_convert_cyl_to_cart (cyl) |
| Returns a 3D Cartesian coordinate vector from a cylindrical (x, r, theta) input vector. | |
| subroutine | m_icpp_patches::s_convert_cylindrical_to_spherical_coord (cyl_x, cyl_y) |
| Computes the spherical azimuthal angle from cylindrical (x, r) coordinates. | |
| elemental real(wp) function | m_icpp_patches::f_r (myth, offset, a) |
| Archimedes spiral function. | |
| impure subroutine, public | m_icpp_patches::s_apply_icpp_patches (patch_id_fp, q_prim_vf) |
| Dispatches each initial condition patch to its geometry-specific initialization routine. | |
Variables | |
| real(wp) | m_icpp_patches::x_centroid |
| real(wp) | m_icpp_patches::y_centroid |
| real(wp) | m_icpp_patches::z_centroid |
| real(wp) | m_icpp_patches::length_x |
| real(wp) | m_icpp_patches::length_y |
| real(wp) | m_icpp_patches::length_z |
| integer | m_icpp_patches::smooth_patch_id |
| real(wp) | m_icpp_patches::smooth_coeff |
| These variables are analogous in both meaning and use to the similarly named components in the ic_patch_parameters type (see m_derived_types.f90 for additional details). They are employed as a means to more concisely perform the actions necessary to lay out a particular patch on the grid. | |
| real(wp) | m_icpp_patches::eta |
| In the case that smoothing of patch boundaries is enabled and the boundary between two adjacent patches is to be smeared out, this variable's purpose is to act as a pseudo volume fraction to indicate the contribution of each patch toward the composition of a cell's fluid state. | |
| real(wp) | m_icpp_patches::cart_x |
| real(wp) | m_icpp_patches::cart_y |
| real(wp) | m_icpp_patches::cart_z |
| real(wp) | m_icpp_patches::sph_phi |
| Variables to be used to hold cell locations in Cartesian coordinates if 3D simulation is using cylindrical coordinates. | |
| type(bounds_info) | m_icpp_patches::x_boundary |
| type(bounds_info) | m_icpp_patches::y_boundary |
| type(bounds_info) | m_icpp_patches::z_boundary |
| These variables combine the centroid and length parameters associated with a particular patch to yield the locations of the patch boundaries in the x-, y- and z-coordinate directions. They are used as a means to concisely perform the actions necessary to lay out a particular patch on the grid. | |
| character(len=5) | m_icpp_patches::istr |
Contains module m_icpp_patches.
Definition in file m_icpp_patches.fpp.f90.