MFC:Pre_process  v1.0
m_initial_condition Module Reference

This module provides a platform that is analagous to constructive solid geometry techniques and in this way allows for the creation of a wide variety of initial conditions. Several 1D, 2D and 3D fundamental geometries are included that may further be combined into more complex shapes. This is achieved by carefully setting up the order in which the patches are laid out in the domain and specifying the priority that each patch has over the preceeding ones. The resulting shapes may be identified both by the values of their primitive variables and the associated patch identities. Note that the user may choose to read in and modify a preexisting initial condition. The module m_start_up.f90 is responsible for reading in the relevant data files. More...

Data Types

interface  s_assign_patch_xxxxx_primitive_variables
 Abstract interface to the two subroutines that assign the patch primitive variables, either mixture or species, depending on the subroutine, to a particular cell in the computational domain. More...
 

Functions/Subroutines

subroutine s_assign_patch_mixture_primitive_variables (patch_id, j, k, l)
 This subroutine assigns the mixture primitive variables of the patch designated by the patch_id, to the cell that is designated by the indexes (j,k,l). In addition, the variable bookkeeping the patch identities in the entire domain is updated with the new assignment. Note that if the smoothing of the patch's boundaries is employed, the ensuing primitive variables in the cell will be a type of combination of the current patch's primitive variables with those of the smoothing patch. The specific details of the combination may be found in Shyue's work (1998). More...
 
subroutine s_assign_patch_species_primitive_variables_bubbles (patch_id, j, k, l)
 This subroutine assigns the species primitive variables. This follows s_assign_patch_species_primitive_variables with adaptation for ensemble-averaged bubble modeling. More...
 
subroutine s_assign_patch_species_primitive_variables (patch_id, j, k, l)
 This subroutine assigns the species primitive variables of the patch designated by the patch_id, to the cell that is designated by the indexes (j,k,l). In addition, the variable bookkeeping the patch identities in the entire domain is updated with the new assignment. Note that if the smoothing of the patch's boundaries is employed, the ensuing primitive variables in the cell will be a type of combination of the current patch's primitive variables with those of the smoothing patch. The specific details of the combination may be found in Shyue's work (1998). More...
 
subroutine s_initialize_initial_condition_module ()
 Computation of parameters, allocation procedures, and/or any other tasks needed to properly setup the module. More...
 
subroutine s_generate_initial_condition ()
 This subroutine peruses the patches and depending on the type of geometry associated with a particular patch, it calls the related subroutine to setup the said geometry on the grid using the primitive variables included with the patch parameters. The subroutine is complete once the primitive variables are converted to conservative ones. More...
 
subroutine s_convert_cylindrical_to_cartesian_coord (cyl_y, cyl_z)
 
subroutine s_convert_cylindrical_to_spherical_coord (cyl_x, cyl_y)
 
subroutine s_perturb_sphere ()
 
subroutine s_perturb_surrounding_flow ()
 
subroutine s_line_segment (patch_id)
 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. More...
 
subroutine s_spiral (patch_id)
 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. More...
 
real(kind(0d0)) function f_r (myth, offset, a)
 Archimedes spiral function. More...
 
subroutine s_circle (patch_id)
 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. More...
 
subroutine s_varcircle (patch_id)
 The varcircle patch is a 2D geometry that may be used . It generatres an annulus. More...
 
subroutine s_3dvarcircle (patch_id)
 
subroutine s_ellipse (patch_id)
 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. More...
 
subroutine s_ellipsoid (patch_id)
 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. More...
 
subroutine s_rectangle (patch_id)
 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. More...
 
subroutine s_sweep_line (patch_id)
 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. More...
 
subroutine s_isentropic_vortex (patch_id)
 The isentropic vortex is a 2D geometry that may be used, for example, to generate an isentropic flow disturbance. Geometry of the patch is well-defined when its centroid and radius are provided. Notice that the patch DOES NOT allow for the smoothing of its boundary. More...
 
subroutine s_1d_analytical (patch_id)
 This patch assigns the primitive variables as analytical functions such that the code can be verified. More...
 
subroutine s_1d_bubble_pulse (patch_id)
 
subroutine s_2d_analytical (patch_id)
 This patch assigns the primitive variables as analytical functions such that the code can be verified. More...
 
subroutine s_3d_analytical (patch_id)
 This patch assigns the primitive variables as analytical functions such that the code can be verified. More...
 
subroutine s_spherical_harmonic (patch_id)
 This patch generates the shape of the spherical harmonics as a perturbation to a perfect sphere. More...
 
subroutine s_sphere (patch_id)
 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. More...
 
subroutine s_cuboid (patch_id)
 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. More...
 
subroutine s_cylinder (patch_id)
 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. More...
 
subroutine s_sweep_plane (patch_id)
 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. More...
 
subroutine s_finalize_initial_condition_module ()
 Deallocation procedures for the module. More...
 

Variables

type(scalar_field), dimension(:), allocatable q_prim_vf
 primitive variables More...
 
type(scalar_field), dimension(:), allocatable q_cons_vf
 conservative variables More...
 
type(scalar_fieldalf_sum
 
real(kind(0d0)) x_centroid
 
real(kind(0d0)) y_centroid
 
real(kind(0d0)) z_centroid
 
real(kind(0d0)) length_x
 
real(kind(0d0)) length_y
 
real(kind(0d0)) length_z
 
real(kind(0d0)) radius
 
real(kind(0d0)) epsilon
 
real(kind(0d0)) beta
 
integer smooth_patch_id
 
real(kind(0d0)) 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. More...
 
type(bounds_infox_boundary
 
type(bounds_infoy_boundary
 
type(bounds_infoz_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. More...
 
real(kind(0d0)) a
 
real(kind(0d0)) b
 
real(kind(0d0)) c
 
real(kind(0d0)) d
 When a line or a plane sweep patch geometry is employed, these variables represent the coefficients associated with the equation describing the said line or plane. More...
 
real(kind(0d0)) 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. More...
 
integer, dimension(:,:,:), allocatable patch_id_fp
 Bookkepping variable used to track the patch identities (id) associated with each of the cells in the computational domain. Note that only one patch identity may be associated with any one cell. More...
 
real(kind(0d0)) cart_y
 
real(kind(0d0)) cart_z
 
real(kind(0d0)) sph_phi
 Variables to be used to hold cell locations in Cartesian coordinates if 3D simulation is using cylindrical coordinates. More...
 
procedure(s_assign_patch_xxxxx_primitive_variables), pointer s_assign_patch_primitive_variables => NULL()
 

Detailed Description

This module provides a platform that is analagous to constructive solid geometry techniques and in this way allows for the creation of a wide variety of initial conditions. Several 1D, 2D and 3D fundamental geometries are included that may further be combined into more complex shapes. This is achieved by carefully setting up the order in which the patches are laid out in the domain and specifying the priority that each patch has over the preceeding ones. The resulting shapes may be identified both by the values of their primitive variables and the associated patch identities. Note that the user may choose to read in and modify a preexisting initial condition. The module m_start_up.f90 is responsible for reading in the relevant data files.

Function/Subroutine Documentation

◆ f_r()

real(kind(0d0)) function m_initial_condition::f_r ( real(kind(0d0)), intent(in)  myth,
real(kind(0d0)), intent(in)  offset,
real(kind(0d0)), intent(in)  a 
)

Archimedes spiral function.

Parameters
mythAngle
offsetThickness
aStarting position

Definition at line 1079 of file m_initial_condition.f90.

Here is the caller graph for this function:

◆ s_1d_analytical()

subroutine m_initial_condition::s_1d_analytical ( integer, intent(in)  patch_id)

This patch assigns the primitive variables as analytical functions such that the code can be verified.

Parameters
patch_idis the patch identifier

Definition at line 1587 of file m_initial_condition.f90.

Here is the caller graph for this function:

◆ s_1d_bubble_pulse()

subroutine m_initial_condition::s_1d_bubble_pulse ( integer, intent(in)  patch_id)

Definition at line 1661 of file m_initial_condition.f90.

Here is the caller graph for this function:

◆ s_2d_analytical()

subroutine m_initial_condition::s_2d_analytical ( integer, intent(in)  patch_id)

This patch assigns the primitive variables as analytical functions such that the code can be verified.

Parameters
patch_idis the patch identifier

Definition at line 1739 of file m_initial_condition.f90.

Here is the caller graph for this function:

◆ s_3d_analytical()

subroutine m_initial_condition::s_3d_analytical ( integer, intent(in)  patch_id)

This patch assigns the primitive variables as analytical functions such that the code can be verified.

Parameters
patch_idis the patch identifier

Definition at line 1859 of file m_initial_condition.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ s_3dvarcircle()

subroutine m_initial_condition::s_3dvarcircle ( integer, intent(in)  patch_id)

Definition at line 1208 of file m_initial_condition.f90.

Here is the caller graph for this function:

◆ s_assign_patch_mixture_primitive_variables()

subroutine m_initial_condition::s_assign_patch_mixture_primitive_variables ( integer, intent(in)  patch_id,
integer, intent(in)  j,
integer, intent(in)  k,
integer, intent(in)  l 
)

This subroutine assigns the mixture primitive variables of the patch designated by the patch_id, to the cell that is designated by the indexes (j,k,l). In addition, the variable bookkeeping the patch identities in the entire domain is updated with the new assignment. Note that if the smoothing of the patch's boundaries is employed, the ensuing primitive variables in the cell will be a type of combination of the current patch's primitive variables with those of the smoothing patch. The specific details of the combination may be found in Shyue's work (1998).

Parameters
patch_idthe patch identifier
jthe x-dir node index
kthe y-dir node index
lthe z-dir node index

Definition at line 159 of file m_initial_condition.f90.

Here is the caller graph for this function:

◆ s_assign_patch_species_primitive_variables()

subroutine m_initial_condition::s_assign_patch_species_primitive_variables ( integer, intent(in)  patch_id,
integer, intent(in)  j,
integer, intent(in)  k,
integer, intent(in)  l 
)

This subroutine assigns the species primitive variables of the patch designated by the patch_id, to the cell that is designated by the indexes (j,k,l). In addition, the variable bookkeeping the patch identities in the entire domain is updated with the new assignment. Note that if the smoothing of the patch's boundaries is employed, the ensuing primitive variables in the cell will be a type of combination of the current patch's primitive variables with those of the smoothing patch. The specific details of the combination may be found in Shyue's work (1998).

Parameters
patch_idthe patch identifier
jthe x-dir node index
kthe y-dir node index
lthe z-dir node index

Definition at line 528 of file m_initial_condition.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ s_assign_patch_species_primitive_variables_bubbles()

subroutine m_initial_condition::s_assign_patch_species_primitive_variables_bubbles ( integer, intent(in)  patch_id,
integer, intent(in)  j,
integer, intent(in)  k,
integer, intent(in)  l 
)

This subroutine assigns the species primitive variables. This follows s_assign_patch_species_primitive_variables with adaptation for ensemble-averaged bubble modeling.

Parameters
patch_idthe patch identifier
jthe x-dir node index
kthe y-dir node index
lthe z-dir node index

Definition at line 277 of file m_initial_condition.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ s_circle()

subroutine m_initial_condition::s_circle ( integer, intent(in)  patch_id)

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.

Parameters
patch_idis the patch identifier

Definition at line 1096 of file m_initial_condition.f90.

Here is the caller graph for this function:

◆ s_convert_cylindrical_to_cartesian_coord()

subroutine m_initial_condition::s_convert_cylindrical_to_cartesian_coord ( real(kind(0d0)), intent(in)  cyl_y,
real(kind(0d0)), intent(in)  cyl_z 
)

Definition at line 852 of file m_initial_condition.f90.

Here is the caller graph for this function:

◆ s_convert_cylindrical_to_spherical_coord()

subroutine m_initial_condition::s_convert_cylindrical_to_spherical_coord ( real(kind(0d0)), intent(in)  cyl_x,
real(kind(0d0)), intent(in)  cyl_y 
)

Definition at line 861 of file m_initial_condition.f90.

Here is the caller graph for this function:

◆ s_cuboid()

subroutine m_initial_condition::s_cuboid ( integer, intent(in)  patch_id)

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.

Parameters
patch_idis the patch identifier

Definition at line 2212 of file m_initial_condition.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ s_cylinder()

subroutine m_initial_condition::s_cylinder ( integer, intent(in)  patch_id)

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.

Parameters
patch_idis the patch identifier

Definition at line 2290 of file m_initial_condition.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ s_ellipse()

subroutine m_initial_condition::s_ellipse ( integer, intent(in)  patch_id)

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.

Parameters
patch_idis the patch identifier

Definition at line 1269 of file m_initial_condition.f90.

Here is the caller graph for this function:

◆ s_ellipsoid()

subroutine m_initial_condition::s_ellipsoid ( integer, intent(in)  patch_id)

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.

Parameters
patch_idis the patch identifier

Definition at line 1326 of file m_initial_condition.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ s_finalize_initial_condition_module()

subroutine m_initial_condition::s_finalize_initial_condition_module ( )

Deallocation procedures for the module.

Definition at line 2477 of file m_initial_condition.f90.

Here is the caller graph for this function:

◆ s_generate_initial_condition()

subroutine m_initial_condition::s_generate_initial_condition ( )

This subroutine peruses the patches and depending on the type of geometry associated with a particular patch, it calls the related subroutine to setup the said geometry on the grid using the primitive variables included with the patch parameters. The subroutine is complete once the primitive variables are converted to conservative ones.

Definition at line 715 of file m_initial_condition.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ s_initialize_initial_condition_module()

subroutine m_initial_condition::s_initialize_initial_condition_module ( )

Computation of parameters, allocation procedures, and/or any other tasks needed to properly setup the module.

Definition at line 651 of file m_initial_condition.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ s_isentropic_vortex()

subroutine m_initial_condition::s_isentropic_vortex ( integer, intent(in)  patch_id)

The isentropic vortex is a 2D geometry that may be used, for example, to generate an isentropic flow disturbance. Geometry of the patch is well-defined when its centroid and radius are provided. Notice that the patch DOES NOT allow for the smoothing of its boundary.

Parameters
patch_idis the patch identifier

Definition at line 1537 of file m_initial_condition.f90.

Here is the caller graph for this function:

◆ s_line_segment()

subroutine m_initial_condition::s_line_segment ( integer, intent(in)  patch_id)

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.

Parameters
patch_idpatch identifier

Definition at line 968 of file m_initial_condition.f90.

Here is the caller graph for this function:

◆ s_perturb_sphere()

subroutine m_initial_condition::s_perturb_sphere ( )

Definition at line 870 of file m_initial_condition.f90.

Here is the caller graph for this function:

◆ s_perturb_surrounding_flow()

subroutine m_initial_condition::s_perturb_surrounding_flow ( )

Definition at line 922 of file m_initial_condition.f90.

Here is the caller graph for this function:

◆ s_rectangle()

subroutine m_initial_condition::s_rectangle ( integer, intent(in)  patch_id)

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.

Parameters
patch_idis the patch identifier

Definition at line 1402 of file m_initial_condition.f90.

Here is the caller graph for this function:

◆ s_sphere()

subroutine m_initial_condition::s_sphere ( integer, intent(in)  patch_id)

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.

Parameters
patch_idis the patch identifier

Definition at line 2110 of file m_initial_condition.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ s_spherical_harmonic()

subroutine m_initial_condition::s_spherical_harmonic ( integer, intent(in)  patch_id)

This patch generates the shape of the spherical harmonics as a perturbation to a perfect sphere.

Parameters
patch_idis the patch identifier

Definition at line 1981 of file m_initial_condition.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ s_spiral()

subroutine m_initial_condition::s_spiral ( integer, intent(in)  patch_id)

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.

Parameters
patch_idpatch identifier

Definition at line 1025 of file m_initial_condition.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ s_sweep_line()

subroutine m_initial_condition::s_sweep_line ( integer, intent(in)  patch_id)

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.

Parameters
patch_idis the patch identifier

Definition at line 1476 of file m_initial_condition.f90.

Here is the caller graph for this function:

◆ s_sweep_plane()

subroutine m_initial_condition::s_sweep_plane ( integer, intent(in)  patch_id)

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.

Parameters
patch_idis the patch identifier

Definition at line 2405 of file m_initial_condition.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ s_varcircle()

subroutine m_initial_condition::s_varcircle ( integer, intent(in)  patch_id)

The varcircle patch is a 2D geometry that may be used . It generatres an annulus.

Parameters
patch_idis the patch identifier

Definition at line 1155 of file m_initial_condition.f90.

Here is the caller graph for this function:

Variable Documentation

◆ a

real(kind(0d0)) m_initial_condition::a

Definition at line 110 of file m_initial_condition.f90.

◆ alf_sum

type(scalar_field) m_initial_condition::alf_sum

Definition at line 90 of file m_initial_condition.f90.

◆ b

real(kind(0d0)) m_initial_condition::b

Definition at line 110 of file m_initial_condition.f90.

◆ beta

real(kind(0d0)) m_initial_condition::beta

Definition at line 95 of file m_initial_condition.f90.

◆ c

real(kind(0d0)) m_initial_condition::c

Definition at line 110 of file m_initial_condition.f90.

◆ cart_y

real(kind(0d0)) m_initial_condition::cart_y

Definition at line 128 of file m_initial_condition.f90.

◆ cart_z

real(kind(0d0)) m_initial_condition::cart_z

Definition at line 128 of file m_initial_condition.f90.

◆ d

real(kind(0d0)) m_initial_condition::d

When a line or a plane sweep patch geometry is employed, these variables represent the coefficients associated with the equation describing the said line or plane.

Definition at line 110 of file m_initial_condition.f90.

◆ epsilon

real(kind(0d0)) m_initial_condition::epsilon

Definition at line 95 of file m_initial_condition.f90.

◆ eta

real(kind(0d0)) m_initial_condition::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.

Definition at line 116 of file m_initial_condition.f90.

◆ length_x

real(kind(0d0)) m_initial_condition::length_x

Definition at line 93 of file m_initial_condition.f90.

◆ length_y

real(kind(0d0)) m_initial_condition::length_y

Definition at line 93 of file m_initial_condition.f90.

◆ length_z

real(kind(0d0)) m_initial_condition::length_z

Definition at line 93 of file m_initial_condition.f90.

◆ patch_id_fp

integer, dimension(:,:,:), allocatable m_initial_condition::patch_id_fp

Bookkepping variable used to track the patch identities (id) associated with each of the cells in the computational domain. Note that only one patch identity may be associated with any one cell.

Definition at line 123 of file m_initial_condition.f90.

◆ q_cons_vf

type(scalar_field), dimension(:), allocatable m_initial_condition::q_cons_vf

conservative variables

Definition at line 88 of file m_initial_condition.f90.

◆ q_prim_vf

type(scalar_field), dimension(:), allocatable m_initial_condition::q_prim_vf

primitive variables

Definition at line 86 of file m_initial_condition.f90.

◆ radius

real(kind(0d0)) m_initial_condition::radius

Definition at line 94 of file m_initial_condition.f90.

◆ s_assign_patch_primitive_variables

procedure(s_assign_patch_xxxxx_primitive_variables), pointer m_initial_condition::s_assign_patch_primitive_variables => NULL()

Definition at line 134 of file m_initial_condition.f90.

◆ smooth_coeff

real(kind(0d0)) m_initial_condition::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.

Definition at line 97 of file m_initial_condition.f90.

◆ smooth_patch_id

integer m_initial_condition::smooth_patch_id

Definition at line 96 of file m_initial_condition.f90.

◆ sph_phi

real(kind(0d0)) m_initial_condition::sph_phi

Variables to be used to hold cell locations in Cartesian coordinates if 3D simulation is using cylindrical coordinates.

Definition at line 129 of file m_initial_condition.f90.

◆ x_boundary

type(bounds_info) m_initial_condition::x_boundary

Definition at line 103 of file m_initial_condition.f90.

◆ x_centroid

real(kind(0d0)) m_initial_condition::x_centroid

Definition at line 92 of file m_initial_condition.f90.

◆ y_boundary

type(bounds_info) m_initial_condition::y_boundary

Definition at line 103 of file m_initial_condition.f90.

◆ y_centroid

real(kind(0d0)) m_initial_condition::y_centroid

Definition at line 92 of file m_initial_condition.f90.

◆ z_boundary

type(bounds_info) m_initial_condition::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.

Definition at line 103 of file m_initial_condition.f90.

◆ z_centroid

real(kind(0d0)) m_initial_condition::z_centroid

Definition at line 92 of file m_initial_condition.f90.