13. Particle Data

This section defines structure types for describing the particle data.

13.1. Particle Zone Structure Definition: ParticleZone_t

The ParticleZone_t structure contains all information pertinent to an individual set of particles.

ParticleZone_t< PhysicalDimension > :=
  {

  int ParticleSize ;                                                 (r)

  List( Descriptor_t Descriptor1 ... DescriptorN ) ;                 (o)

  List( ParticleCoordinate<ParticleSize>
        ParticleCoordinates MovedParticles1 ... MovedParticlesN ) ;  (o)

  FamilyName_t FamilyName ;                                          (o)

  List( AdditionalFamilyName_t AddFamilyName1 ... AddFamilyNameN ) ; (o)

  List( ParticleSolution_t<ParticleSize>
        ParticleSolution1 ... ParticleSolutionN ) ;                  (o)

  List( IntegralData_t IntegralData1 ... IntegralDataN ) ;           (o)

  ParticleIterativeData_t<NumberOfSteps> ParticleIterativeData ;     (o)

  ReferenceState_t ReferenceState ;                                  (o)

  DataClass_t DataClass ;                                            (o)

  DimensionalUnits_t DimensionalUnits ;                              (o)

  ParticleEquationSet_t ParticleEquationSet ;                        (o)

  List( UserDefinedData_t UserDefinedData1 ... UserDefinedDataN ) ;  (o)
  } ;

Note

  1. Default names for the Descriptor_t, ParticleCoordinates_t, ParticleSolution_t, IntegralData_t, and UserDefinedData_t lists are as shown; users may choose other legitimate names. Legitimate names must be unique within a given instance of ParticleZone_t and shall not include the names DataClass, DimensionalUnits, FamilyName, FlowEquationSet, ParticleCoordinates, ParticleSolution, ParticleIterativeData, and ReferenceState.

  2. The original particle coordinates should have the name ParticleCoordinates. Default names for the remaining entities in the ParticleCoordinates_t list are as shown; users may choose other legitimate names, subject to, the restrictions listed in the previous note.

  3. There may be multiple ParticleZone_t per base. This allows users to create different groups of particles. FamilyName_t and AdditionalFamilyName_t nodes can be used to discern each ParticleZone_t node.

  4. ParticleSize is the only required field within the ParticleZone_t structure.

ParticleZone_t requires the parameter PhysicalDimension. ParticleSize corresponds to the number of particles in the ParticleZone_t. ParticleSize identifies the size of the particle-size arrays and is passed on to the particle coordinates and particle solution.

The ParticleCoordinates_t structure contains the physical coordinates of the center of each particle in the ParticleZone_t. The original particle coordinates are contained in ParticleCoordinates. Additional ParticleCoordinates_t data structures are allowed, to store particles at multiple time steps or iterations.

FamilyName identifies to which family particles belongs. Where multiple families are desired, AdditionalFamilyName nodes may be used to specify them. Both FamilyName and AdditionalFamilyName should refer to a CGNSBase_t level Family_t, in the parent base of the ParticleZone_t or in another sibling base (see Base Level Families).

Particle-solution quantities are contained in the list of ParticleSolution_t structures. Multiple ParticleSolution_t structures can be provided to store particle-solution data at multiple time steps or iterations.

Miscellaneous ParticleZone_t-specific global data is contained in the list of IntegralData_t structures.

The particle-based DataArray_t vectors in ParticleSolution_t can correspond to a subset of particles defined in ParticleCoordinates_t through the use of a PointRange or PointList. Unless a PointList is defined, particle-based DataArray_t vectors in ParticleSolution_t must use the same ordering as those defined in ParticleCoordinates_t.

The ParticleIterativeData_t data structure may be used to record pointers to particle data at multiple time steps or iterations.

Reference-state data specific to an individual zone is contained in the ReferenceState structure.

DataClass defines the particle default for the class of data contained in the ParticleZone_t and its substructures. If a ParticleZone_t contains dimensional data, DimensionalUnits may be used to describe the system of dimensional units employed. ReferenceState, and ParticleEquationSet have special function in the hierarchy. They are applicable throughout a given particle zone, but their precedence may be superseded by local entities contained in the particle zone’s substructures. If any of these entities are present within a given instance of ParticleZone_t, they take precedence over the corresponding global entities contained in database’s CGNSBase_t entity. These precedence rules are further discussed in the section on Precedence Rules and Scope Within the Hierarchy.

DataClass and DimensionalUnits have special function in the hierarchy. They are applicable throughout a given ParticleZone_t, but their precedence may be superseded by local entities contained in the ParticleZone_t’s substructures. If any of these entities are present within a given instance of ParticleZone_t, they take precedence over the corresponding global entities contained in the database’s ParticleZone_t or CGNSBase_t entity. These precedence rules are further discussed in the section on Precedence Rules and Scope Within the Hierarchy.

The UserDefinedData_t data structure allows arbitrary user-defined data to be stored in Descriptor_t and DataArray_t children without the restrictions or implicit meanings imposed on these node types at other node locations.

13.2. Particle Coordinates Structure Definition: ParticleCoordinates_t

The physical coordinates of the particle centers are described by the ParticleCoordinates_t structure. This structure contains a list for the data arrays of the individual components of the position vector.

ParticleCoordinates_t< int ParticleSize, int PhysicalDimension> :=
  {
  DataArray_t<DataType,PhysicalDimension, 2> BoundingBox ;           (o)

  List( Descriptor_t Descriptor1 ... DescriptorN ) ;                 (o)

  List( DataArray_t<DataType, ParticleSize>
        DataArray1 ... DataArrayN ) ;                                (o)

  DataClass_t DataClass ;                                            (o)

  DimensionalUnits_t DimensionalUnits ;                              (o)

  List( UserDefinedData_t UserDefinedData1 ... UserDefinedDataN ) ;  (o)
  } ;

Note

  1. Default names for the Descriptor_t, DataArray_t, and UserDefinedData_t lists are as shown; users may choose other legitimate names. Legitimate names must be unique within a given instance of ParticleCoordinates_t and shall not include the names DataClass, or DimensionalUnits.

  2. There are no required fields for ParticleCoordinates_t.

  3. The structure parameter DataType must be consistent with the data stored in the DataArray_t substructures.

ParticleCoordinates_t requires one structure parameters: ParticleSize, which is the number of particles in the ParticleZone_t node.

The particle coordinates data is stored in the list of DataArray_t entities; each DataArray_t structure entity may contain a single component of the position vector (e.g., three separate DataArray_t entities are used for x, y, and z).

Standardized data-name identifiers for the particle coordinates are described in Conventions for Data-Name Identifiers.

DataClass defines the default class for data contained in the DataArray_t entities. For dimensional grid coordinates, DimensionalUnits may be used to describe the system of units employed. If present, these two entities take precedence over the corresponding entities at higher levels of the CGNS hierarchy, following the standard precedence rules. An example that uses these particle-coordinate defaults is shown under Particle Coordinates Examples.

13.2.1. Example - Particle Coordinates for a 3-D Case

This example show how to set the particle coordinates in the case where ParticleSize is 15.

!  ParticleSize = 15
ParticleCoordinates_t<15> ParticleCoordinates =
  {{

  ! DataType = real
  ! ParticleSize = 15
  DataArray_t<real, 1, 15> CoordinateX =
    {{
    Data(real, 1, 15) = (x(i), i=1,15) ;
    }} ;

  DataArray_t<real, 1, 15> CoordinateY =
    {{
    Data(real, 1, 15) = (y(i), i=1,15) ;
    }} ;

  DataArray_t<real, 1, 15> CoordinateZ =
    {{
    Data(real, 1, 15) = (z(i), i=1,15) ;
    }} ;
  }} ;

13.3. Particle Solution Structure Definition: ParticleSolution_t

The solution on each particle within a given ParticleZone_t is described by the ParticleSolution_t structure. This structure contains a list for the data arrays of the individual solution variables. Particle solutions are implicitly defined at particle centers, and correspond to the solution for the entire particle.

ParticleSolution_t< int ParticleSize> :=
  {
  List( Descriptor_t Descriptor1 ... DescriptorN ) ;                 (o)

  IndexRange PointRange ;                                            (o)
  IndexArray<DataSize[], int> PointList ;                            (o)

  List( DataArray_t<DataType, DataSize[]>
        DataArray1 ... DataArrayN ) ;                                (o)

  DataClass_t DataClass ;                                            (o)

  DimensionalUnits_t DimensionalUnits ;                              (o)

  List( UserDefinedData_t UserDefinedData1 ... UserDefinedDataN ) ;  (o)
  } ;

Note

  1. Default names for the Descriptor_t, DataArray_t, and UserDefinedData_t lists are as shown; users may choose other legitimate names. Legitimate names must be unique within a given instance of ParticleSolution_t and shall not include the names DataClass, DimensionalUnits, PointList or PointRange.

  2. There are no required fields for ParticleSolution_t.

  3. Both of the fields PointList and PointRange are optional. Only one of these two fields may be specified.

  4. The structure parameter DataType must be consistent with the data stored in the DataArray_t structure entities; DataType is real for all particle-solution identifiers defined in the section Conventions for Data-Name Identifiers.

  5. Indexing of data within the DataArray_t structure must be consistent with coordinates defined in the ParticleCoordinates_t.

The particle solution data is stored in the list of DataArray_t entities; each DataArray_t structure entity may contain a single component of the solution vector. Standardized data-name identifiers for the particle-solution quantities are described in the section Conventions for Data-Name Identifiers.

DataClass defines the default class for data contained in the DataArray_t entities. For dimensional particle solution data, DimensionalUnits may be used to describe the system of units employed. If present, these two entities take precedence over the corresponding entities at higher levels of the CGNS hierarchy, following the standard precedence rules.

The UserDefinedData_t data structure allows arbitrary user-defined data to be stored in Descriptor_t and DataArray_t children without the restrictions or implicit meanings imposed on these node types at other node locations.

FUNCTION DataSize()
Return value:

int

Dependencies:

PointRange, PointList

ParticleSolution_t requires the structure function DataSize, which is used to specify the number of entities corresponding to a given PointRange or PointList. This will therefore be the size of the ParticleSolution data arrays. If PointRange is specified, then DataSize is obtained from the number of points (inclusive) between the beginning and ending indices of PointRange. If PointList is specified, then DataSize is the number of indices in the list of points. In this situation, DataSize becomes a user input along with the indices of the list PointList. By “user”, we mean the application code that is generating the CGNS database.

13.3.1. Example - Particle Solution

ParticleSolution_t<15> ParticleSolution =
  {{

  ! DataType = real
  ! ParticleSize = 15

  DataArray_t<real, 1, 15> Radius =
    {{
    Data(real, 1, 15) = (r(i), i=1,15) ;
    }} ;

  DataArray_t<real, 1, 15> Temperature =
    {{
    Data(real, 1, 15) = (T(i), i=1,15) ;
    }} ;

  DataArray_t<real, 1, 15> VelocityX =
    {{
    Data(real, 1, 15) = (u(i), i=1,15) ;
    }} ;

  DataArray_t<real, 1, 15> VelocityY =
    {{
    Data(real, 1, 15) = (v(i), i=1,15) ;
    }} ;

  DataArray_t<real, 1, 15> VelocityZ =
    {{
    Data(real, 1, 15) = (z(i), i=1,15) ;
    }} ;
  }} ;

13.4. Particle Equation Set Structure Definition: ParticleEquationSet_t

ParticleEquationSet_t is a general description of the governing particle equations. It includes the dimensionality of the governing equations, and the collection of specific equation-set descriptions covered in subsequent sections. It can be a child node of CGNSBase_t or ParticleZone_t (or both).

ParticleEquationSet_t :=
  {
  List( Descriptor_t Descriptor1 ... DescriptorN ) ;                 (o)

  int EquationDimension ;                                            (o)

  ParticleGoverningEquations_t; ParticleGoverningEquations ;         (o)

  ParticleCollisionModel_t ParticleCollisionModel ;                  (o)

  ParticleBreakupModel_t ParticleBreakupModel ;                      (o)

  ParticleForceModel_t ParticleForceModel ;                          (o)

  ParticleWallInteractionModel_t ParticleWallInteractionModel ;      (o)

  ParticlePhaseChangeModel_t ParticlePhaseChangeModel ;              (o)

  DataClass_t DataClass ;                                            (o)

  DimensionalUnits_t DimensionalUnits ;                              (o)

  List( UserDefinedData_t UserDefinedData1 ... UserDefinedDataN ) ;  (o)
  } ;

Note

  1. Default names for the Descriptor_t and UserDefinedData_t lists are as shown; users may choose other legitimate names. Legitimate names must be unique within a given instance of ParticleEquationSet_t and shall not include the names ParticleGoverningEquations, ParticleCollisionModel, ParticleBreakupModel, ParticleForceModel, ParticleWallInteractionModel_t, ParticlePhaseChangeModel, DataClass, or DimensionalUnits.

  2. There are no required elements for ParticleEquationSet_t.

EquationDimension is the dimensionality of the governing equations; it is the number of spatial variables describing the flow.

DataClass defines the default for the class of data contained in the flow-equation set. For any data that is dimensional, DimensionalUnits may be used to describe the system of dimensional units employed. If present, these two entities take precedence over all corresponding entities at higher levels of the hierarchy, following the standard precedence rules.

The UserDefinedData_t data structure allows arbitrary user-defined data to be stored in Descriptor_t and DataArray_t children without the restrictions or implicit meanings imposed on these node types at other node locations.

13.4.1. Governing Equations Structure Definition: ParticleGoverningEquations_t

ParticleGoverningEquations_t describes the class of governing equations associated with particles.

ParticleGoverningEquationsType_t := Enumeration(
  ParticleGovEqTypeNull,
  ParticleGovEqTypeUserDefined,
  DEM,
  DSMC,
  SPH) ;

ParticleGoverningEquations_t; :=
  {
  List( Descriptor_t Descriptor1 ... DescriptorN ) ;                 (o)

  ParticleGoverningEquationsType_t ParticleGoverningEquationsType ;  (r)

  List( UserDefinedData_t UserDefinedData1 ... UserDefinedDataN ) ;  (o)
  } ;

Note

  1. Default names for the Descriptor_t and UserDefinedData_t lists are as shown; users may choose other legitimate names. Legitimate names must be unique within a given instance of ParticleGoverningEquations_t.

  2. ParticleGoverningEquationsType is the only required element.

The UserDefinedData_t data structure allows arbitrary user-defined data to be stored in Descriptor_t and DataArray_t children without the restrictions or implicit meanings imposed on these node types at other node locations.

13.4.2. Particle Model Type Structure Definition: ParticleModelType_t

ParticleModelType_t is a complete list of all models covered in subsequent sections. A specific model will contain a subset of this enumeration.

ParticleModelType_t := Enumeration(
  Linear, NonLinear, HardSphere, SoftSphere, LinearSpringDashpot,
  Pair, BaiGosman, HertzMindlin, HertzKuwabaraKono, Kuhnke, ORourke, Wruck,
  Stochastic, NonStochastic, NTC, KelvinHelmholtz,
  KelvinHelmholtzACT, RayleighTaylor,
  KelvinHelmholtzRayleighTaylor,
  ReitzKHRT,
  TAB, ETAB, LISA, SHF, PilchErdman, ReitzDiwakar,
  Sphere, NonShpere, Tracer, BeetstraVanDerHoefKuipers,
  Ergun, CliftGrace, Gidaspow, HaiderLevenspiel, PlessisMasliyah,
  SyamlalOBrien, SaffmanMei, TennetiGargSubramaniam,
  Tomiyama, Stokes, StokesCunningham, WenYu,
  Boil, Condense, Flash, Nucleate, Chiang, Frossling, FuchsKnudsen) ;

13.4.3. Particle Collision Model Structure Definition: ParticleCollisionModel_t

ParticleCollisionModel_t describes the collision model used for particle-particle interactions. The enumerated values for ParticleCollisionModelType_t are a subset of the ParticleModelType_t enumeration.

ParticleCollisionModelType_t := Enumeration(
  ModelTypeNull,
  ModelTypeUserDefined,
  Linear,
  NonLinear,
  HardSphere,
  SoftSphere,
  LinearSpringDashpot,
  Pair,
  HertzMindlin,
  HertzKuwabaraKono,
  ORourke,
  Stochastic,
  NonStochastic,
  NTC) ;

ParticleCollisionModel_t :=
  {
  List( Descriptor_t Descriptor1 ... DescriptorN ) ;                 (o)

  ParticleCollisionModelType_t ParticleCollisionModelType ;          (r)

  List( DataArray_t<DataType, 1, 1> DataArray1 ... DataArrayN ) ;    (o)

  DataClass_t DataClass ;                                            (o)

  DimensionalUnits_t DimensionalUnits ;                              (o)

  List( UserDefinedData_t UserDefinedData1 ... UserDefinedDataN ) ;  (o)
  } ;

Note

  1. Default names for the “Descriptor_t, DataArray_t, and UserDefinedData_t lists are as shown; users may choose other legitimate names. Legitimate names must be unique within a given instance of ParticleCollisionModel_t and shall not include the names DataClass or DimensionalUnits.

  2. ParticleCollisionModelType is the only required element.

For any data that is dimensional, DimensionalUnits may be used to describe the system of dimensional units employed. If present, these two entities take precedence over all corresponding entities at higher levels of the hierarchy, following the standard precedence rules.

The UserDefinedData_t data structure allows arbitrary user-defined data to be stored in Descriptor_t and DataArray_t children without the restrictions or implicit meanings imposed on these node types at other node locations.

The ParticleCollisionModelType names currently listed correspond to the following particular references.

ORourke

O’Rourke, P. J ., “Collective Drop Effects on Vaporizing Liquid Sprays,” Ph.D. Thesis, Princeton University, Princeton, N J , United States, 1981.

NTC

Schmidt, D.P. and Rutland, C. J ., “A New Droplet Collision Algorithm,” Journal of Computational Physics , 164 ( 1 ), 62 - 80 , 2000. DOI: 10.1006/jcph.2000.6568

HertzKuwabaraKono

Goro Kuwabara and Kimitoshi Kono 1987 Jpn. J. Appl. Phys. 26 1230

HertzMindlin

Tsuji Y. et al. (1992) Lagrangian numerical simulation of plug flow of cohesionless particles in a horizontal pipe. Powder Technology, 71(3): p. 239-250. http://dx.doi.org/10.1016/0032-5910(92)88030-L

13.4.4. Particle Breakup Model Structure Definition: ParticleBreakupModel_t

ParticleBreakupModel_t describes the model used for particle breakup. The enumerated values for ParticleBreakupModelType_t are a subset of the ParticleModelType_t enumeration.

ParticleBreakupModelType_t := Enumeration(
  ModelTypeNull,
  ModelTypeUserDefined,
  KelvinHelmholtz,
  KelvinHelmholtzACT,
  RayleighTaylor,
  KelvinHelmholtzRayleighTaylor,
  ReitzKHRT,
  TAB,
  ETAB,
  LISA,
  SHF,
  PilchErdman,
  ReitzDiwakar) ;

ParticleBreakupModel_t :=
  {
  List( Descriptor_t Descriptor1 ... DescriptorN ) ;                 (o)

  ParticleBreakupModelType_t ParticleBreakupModelType ;              (r)

  List( DataArray_t<DataType, 1, 1> DataArray1 ... DataArrayN ) ;    (o)

  DataClass_t DataClass ;                                            (o)

  DimensionalUnits_t DimensionalUnits ;                              (o)

  List( UserDefinedData_t UserDefinedData1 ... UserDefinedDataN ) ;  (o)
  } ;

Note

  1. Default names for the Descriptor_t, DataArray_t, and UserDefinedData_t lists are as shown; users may choose other legitimate names. Legitimate names must be unique within a given instance of ParticleBreakupModel_t and shall not include the names DataClass or DimensionalUnits.

  2. ParticleBreakupModelType is the only required element.

For any data that is dimensional, DimensionalUnits may be used to describe the system of dimensional units employed. If present, these two entities take precedence over all corresponding entities at higher levels of the hierarchy, following the standard precedence rules.

The UserDefinedData_t data structure allows arbitrary user-defined data to be stored in Descriptor_t and DataArray_t children without the restrictions or implicit meanings imposed on these node types at other node locations.

The ParticleBreakupModelType names currently listed correspond to the following particular references.

KelvinHelmholtz

Reitz, R.D. and Bracco, F.V., “Mechanisms of Breakup of Round Liquid Jets,” Encyclopedia of Fluid Mechanics, Gulf Publishing Company, 1986.

KelvinHelmholtzACT

Som, S. and Aggarwal, S.K., “Effects of Primary Breakup Modeling on Spray and Combustion Characteristics of Compression Ignition Engines”, Combustion and Flame, 157(6), 1179-1193, 2010. DOI: 10.1016/j.combustflame.2010.02.018

RayleighTaylor

Senecal, P.K., Richards, K.J., Pomraning, E., Yang, T., Dai, M.Z., McDavid, R.M., Patterson, M.A., Hou, S., and Shethaji, T., “A New Parallel Cut-Cell Cartesian CFD Code for Rapid Grid Generation Applied to In-Cylinder Diesel Engine Simulations,” SAE Paper 2007-01-0159, 2007. DOI: 10.4271/2007-01-0159

TAB

O’Rourke, P.J. and Amsden, A.A., “The TAB Method for Numerical Calculation of Spray Droplet Breakup,” SAE Paper 872089, 1987. DOI: 10.4271/872089.

ETAB

F.X. Tanner “Liquid Jet Atomization and Droplet Breakup Modeling of Non-Evaporating Diesel Fuel Sprays” SAE 970050, SAE Transactions: Journal of Engines, Vol 106, Sec 3 pp 127-140

LISA

Senecal, P.K., Schmidt, D.P., Nouar, I., Rutland, C.J., Reitz, R.D., and Corradini, M.L., “Modeling High-Speed Viscous Liquid Sheet Atomization,” International Journal of Multiphase Flow, 25(6-7), 1073-1097, 1999. DOI: 10.1016/S0301-9322(99)00057-9

SHF

  1. Schmehl, G. Maier, S. Witting “CFD Analysis of Fuel Atomization, Secondary Droplet Breakup and Spray Dispersion in the Premix Duct of a LPP Combustor”. Eight International Conference on Liquid Atomization and Spray Systems, 2000

PilchErdman

Pilch, M., & Erdman, C. A. (1987). Use of breakup time data and velocity history data to predict the maximum size of stable fragments for acceleration-induced breakup of a liquid drop. International journal of multiphase flow, 13(6), 741-757. DOI:10.1016/0301-9322(87)90063-2

ReitzDiwakar

Reitz, R.D. and Diwakar, R. “Effect of drop breakup on fuel sprays” SAE Tech. paper series, 860469 (1986)

13.4.5. Particle Force Model Structure Definition: ParticleForceModel_t

ParticleForceModel_t describes the model used for for forces, typically lift and drag, applied on particle. The enumerated values for ParticleForceModelType_t are a subset of the ParticleModelType_t enumeration.

ParticleForceModelType_t := Enumeration(
  ModelTypeNull,
  ModelTypeUserDefined,
  Sphere,
  NonSphere,
  Tracer,
  BeetstraVanDerHoefKuipers,
  Ergun,
  CliftGrace,
  Gidaspow,
  HaiderLevenspiel,
  PlessisMasliyah,
  SyamlalOBrien,
  SaffmanMei,
  TennetiGargSubramaniam,
  Tomiyama,
  Stokes,
  StokesCunningham,
  WenYu) ;

ParticleForceModel_t :=
  {
  List( Descriptor_t Descriptor1 ... DescriptorN ) ;                 (o)

  ParticleForceModelType_t ParticleForceModelType ;                  (r)

  List( DataArray_t<DataType, 1, 1> DataArray1 ... DataArrayN ) ;    (o)

  DataClass_t DataClass ;                                            (o)

  DimensionalUnits_t DimensionalUnits ;                              (o)

  List( UserDefinedData_t UserDefinedData1 ... UserDefinedDataN ) ;  (o)
  } ;

Note

  1. Default names for the Descriptor_t, DataArray_t, and UserDefinedData_t lists are as shown; users may choose other legitimate names. Legitimate names must be unique within a given instance of ParticleForceModel_t and shall not include the names DataClass or DimensionalUnits.

  2. ParticleForceModelType is the only required element.

For any data that is dimensional, DimensionalUnits may be used to describe the system of dimensional units employed. If present, these two entities take precedence over all corresponding entities at higher levels of the hierarchy, following the standard precedence rules.

The UserDefinedData_t data structure allows arbitrary user-defined data to be stored in Descriptor_t and DataArray_t children without the restrictions or implicit meanings imposed on these node types at other node locations.

The ParticleForceModelType names currently listed correspond to the following particular references.

Ergun

Gidaspow, D. (1994). Multiphase flow and fluidization: continuum and kinetic theory descriptions. Academic press.

PlessisMasliyah

Du Plessis, J. P. (1994). Analytical quantification of coefficients in the Ergun equation for fluid friction in a packed bed. Transport in porous media, 16(2), 189-207. DOI:10.1007/BF00617551

WenYu

Wen, C. Y., & Yu, Y. H., (1966). Mechanics of fluidization. Chemical Engineering Progress Symposium Series. 62, 100-111.

CliftGrace

Clift, R., Grace, J.R., and Weber, M.E., Bubbles, Drops, and Particles, Academic Press, NewYork, 1978.

HaiderLevenspiel

Haider, A. and Levenspiel, O., “Drag Coefficient and Terminal Velocity of Spherical and Non-Spherical Particles,” Powder Technology 58(1), 63-70, 1989.

SaffmanMei

Koohandaz, A., Khavasi, E., Eyvazian, A., and Yousefi, H., “Prediction of particles deposition in a dilute quasi-steady gravity current by Lagrangian markers: Effect of shear-induced lift force,” Scientific Reports, 10, 16673, 2020.

13.4.6. Particle Wall Interaction Model Structure Definition: ParticleWallInteractionModel_t

ParticleWallInteractionModel_t describes the model used for particle-wall interactions, including splash models. The enumerated values for ParticleWallInteractionModelType_t are a subset of the ParticleModelType_t enumeration.

ParticleWallInteractionModelType_t := Enumeration(
  ModelTypeNull,
  ModelTypeUserDefined,
  Linear,
  NonLinear,
  HardSphere,
  SoftSphere,
  LinearSpringDashpot,
  BaiGosman,
  HertzMindlin,
  HertzKuwabaraKono,
  Kuhnke,
  ORourke,
  Wruck,
  NTC) ;

ParticleWallInteractionModel_t :=
  {
  List( Descriptor_t Descriptor1 ... DescriptorN ) ;                    (o)

  ParticleWallInteractionModelType_t ParticleWallInteractionModelType ; (r)

  List( DataArray_t<DataType, 1, 1> DataArray1 ... DataArrayN ) ;       (o)

  DataClass_t DataClass ;                                               (o)

  DimensionalUnits_t DimensionalUnits ;                                 (o)

  List( UserDefinedData_t UserDefinedData1 ... UserDefinedDataN ) ;     (o)
  } ;

Note

  1. Default names for the Descriptor_t, DataArray_t, and UserDefinedData_t lists are as shown; users may choose other legitimate names. Legitimate names must be unique within a given instance of ParticleWallInteractionModel_t and shall not include the names DataClass or DimensionalUnits.

  2. ParticleWallInteractionModelType is the only required element.

For any data that is dimensional, DimensionalUnits may be used to describe the system of dimensional units employed. If present, these two entities take precedence over all corresponding entities at higher levels of the hierarchy, following the standard precedence rules.

The UserDefinedData_t data structure allows arbitrary user-defined data to be stored in Descriptor_t and DataArray_t children without the restrictions or implicit meanings imposed on these node types at other node locations.

The ParticleWallInteractionModelType names currently listed correspond to the following particular references.

ORourke

O’Rourke, P. J ., “Collective Drop Effects on Vaporizing Liquid Sprays,” Ph.D. Thesis, Princeton University, Princeton, N J , United States, 1981.

Kuhnke

Kuhnke, D., “Spray/Wall-interaction Modelling by Dimensionless Data Analysis,” Ph.D. Thesis, Shaker Verlag, 2004, ISBN 3-8322-3539.

NTC

Schmidt, D.P. and Rutland, C. J ., “A New Droplet Collision Algorithm,” Journal of Computational Physics , 164 ( 1 ), 62 - 80 , 2000. DOI: 10.1006/jcph.2000.6568

BaiGosman

Bai, C. and Gosman, A. “Development of Methodology for Spray Impingement Simulation,” SAE Paper 950283, 1995. DOI: 10.4271/950283

HertzKuwabaraKono

Goro Kuwabara and Kimitoshi Kono 1987 Jpn. J. Appl. Phys. 26 1230

HertzMindlin

Tsuji Y. et al. (1992) Lagrangian numerical simulation of plug flow of cohesionless particles in a horizontal pipe. Powder Technology, 71(3): p. 239-250. http://dx.doi.org/10.1016/0032-5910(92)88030-L

Wruck

Wruck, N.M. and Renz, U., “Transient Phase-Change of Droplets Impacting on a Hot Wall,”Wiley-VCH Verlag GmbH, ISBN 978-3-527-27149-8.

13.4.7. Particle Phase Change Model Structure Definition: ParticlePhaseChangeModel_t

ParticlePhaseChangeModel_t describes the model used for particle phase change, typically evaporation and condensation. The enumerated values for ParticlePhaseChangeModelType_t are a subset of the ParticleModelType_t enumeration.

ParticlePhaseChangeModelType_t := Enumeration(
  ModelTypeNull,
  ModelTypeUserDefined,
  Boil,
  Condense,
  Flash,
  Nucleate,
  Chiang,
  Frossling,
  FuchsKnudsen) ;

ParticlePhaseChangeModel_t :=
  {
  List( Descriptor_t Descriptor1 ... DescriptorN ) ;                 (o)

  ParticlePhaseChangeModelType_t ParticlePhaseChangeModelType ;      (r)

  List( DataArray_t<DataType, 1, 1> DataArray1 ... DataArrayN ) ;    (o)

  DataClass_t DataClass ;                                            (o)

  DimensionalUnits_t DimensionalUnits ;                              (o)

  List( UserDefinedData_t UserDefinedData1 ... UserDefinedDataN ) ;  (o)
  } ;

Note

  1. Default names for the Descriptor_t, DataArray_t, and UserDefinedData_t lists are as shown; users may choose other legitimate names. Legitimate names must be unique within a given instance of ParticlePhaseChangeModel_t and shall not include the names DataClass or DimensionalUnits.

  2. ParticlePhaseChangeModelType is the only required element.

For any data that is dimensional, DimensionalUnits may be used to describe the system of dimensional units employed. If present, these two entities take precedence over all corresponding entities at higher levels of the hierarchy, following the standard precedence rules.

The UserDefinedData_t data structure allows arbitrary user-defined data to be stored in Descriptor_t and DataArray_t children without the restrictions or implicit meanings imposed on these node types at other node locations.

The ParticlePhaseChangeModelType names currently listed correspond to the following particular references.

Frossling

Amsden, A.A., O’Rourke, P.J ., and Butler, T.D., “KIVA-II: A Computer Program for Chemically Reactive Flows with Sprays,” Los Alamos National Laboratory Technical Report LA-11560-MS, 1989.

Chiang

Chiang, C.H., Raju, M.S., and Sirignano, W.A., “Numerical Analysis of a Convecting, Vaporizing Fuel Droplet with Variable Properties,” International Journal of Heat and Mass Transfer, 35( 5), 1307-1324, 1992. DOI: 10.1016/0017-9310(92)90186-V

Flash

Price, C., Hamzehloo, A., Aleiferis, P., and Richardson, R., “An Approach to Modeling Flash-Boiling Fuel Sprays for Direct-Injection Spark-Ignition Engines,” Atomization and Sprays, 26(12), 1197-1239, 2016. DOI: 10.1615/AtomizSpr.2016015807

Condense

Kryukov, A.P., Levashov, V.Yu., and Sazhin, S.S., “Evaporation of diesel fuel droplets: kinetic versus hydrodynamic models,” International Journal of Heat and Mass Transfer 47, 2541-2549, 2004.

Nucleate

Liu, X. and Cheng, P., “Dropwise condensation theory revisited Part II: Droplet nucleation density and condensation heat flux,” International Journal of Heat and Mass Transfer, 83, 842-849, 2015.