Go to the documentation of this file.
55 template<
class CloudType>
58 template<
class CloudType>
61 template<
class CloudType>
68 template<
class ParcelType>
71 public Cloud<ParcelType>,
263 inline const typename ParcelType::constantProperties&
457 const label tetFaceI,
void collisions()
Calculate collisions between molecules.
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
void resetFields()
Reset the data accumulation field values to zero.
Simple random number generator.
void buildConstProps()
Build the constant properties for all of the species.
volVectorField::GeometricBoundaryField & fDBF()
Return non-const force density at boundary field reference.
List< DynamicList< ParcelType * > > cellOccupancy_
A data structure holding which particles are in which cell.
void dumpParticlePositions() const
Dump particle positions to .obj file.
scalarField & collisionSelectionRemainder()
Return the collision selection remainder field. non-const.
scalar massInSystem() const
Total mass in system.
DimensionedField< scalar, volMesh > collisionSelectionRemainder_
A field holding the remainder from the previous collision selections.
A class for handling words, derived from string.
DSMCCloud(const DSMCCloud &)
Disallow default bitwise copy construct.
volScalarField & sigmaTcRMax()
Return the sigmaTcRMax field. non-const access to allow.
const List< typename ParcelType::constantProperties > & constProps() const
Return all of the constant properties.
Templated DSMC particle collision class.
void buildCellOccupancy()
Record which particles are in which cell.
vector equipartitionLinearVelocity(scalar temperature, scalar mass)
Generate a random velocity sampled from the Maxwellian speed.
volScalarField sigmaTcRMax_
A field holding the value of (sigmaT * cR)max for each.
const volScalarField & boundaryT() const
Return macroscopic temperature.
const volVectorField & boundaryU() const
Return macroscopic velocity.
volScalarField rhoM_
Mass density field.
This function object reads fields from the time directories and adds them to the mesh database for fu...
IOdictionary particleProperties_
Dictionary of particle properties.
Random & rndGen()
Return refernce to the random object.
volVectorField fD_
Force density at surface field.
volScalarField rhoN_
Number density field.
const word cloudName_
Cloud type - used to set the name of the parcel properties.
volVectorField::GeometricBoundaryField & momentumBF()
Return non-const momentum density boundary field reference.
void clear()
Clear the Cloud.
const List< word > & typeIdList() const
Return the idList.
void info() const
Print cloud information.
const word & cloudName() const
Return the cloud type.
volScalarField linearKE_
Linear kinetic energy density field.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
scalar linearKineticEnergyOfSystem() const
Total linear kinetic energy in the system.
Pre-declare SubField and related Field type.
const fvMesh & mesh_
References to the mesh and time databases.
const fvMesh & mesh() const
Return refernce to the mesh.
const volScalarField & iDof() const
Return the average internal degrees of freedom field.
const volScalarField & rhoN() const
Return the real particle number density field.
const BinaryCollisionModel< DSMCCloud< ParcelType > > & binaryCollision() const
Return reference to binary elastic collision model.
virtual ~DSMCCloud()
Destructor.
autoPtr< WallInteractionModel< DSMCCloud< ParcelType > > > wallInteractionModel_
Wall interaction model.
void addNewParcel(const vector &position, const vector &U, const scalar Ei, const label cellI, const label tetFaceI, const label tetPtI, const label typeId)
Add new parcel.
Templated base class for dsmc cloud.
const List< DynamicList< ParcelType * > > & cellOccupancy() const
Return the cell occupancy addressing.
autoPtr< BinaryCollisionModel< DSMCCloud< ParcelType > > > binaryCollisionModel_
Binary collision model.
scalar maxwellianRMSSpeed(scalar temperature, scalar mass) const
RMS particle speed.
Templated wall interaction model class.
volScalarField::GeometricBoundaryField & rhoMBF()
Return non-const mass density boundary field reference.
void operator=(const DSMCCloud &)
Disallow default bitwise assignment.
const volScalarField & internalE() const
Return the internal energy density field.
volScalarField::GeometricBoundaryField & linearKEBF()
Return non-const linear kinetic energy density boundary.
Mesh data needed to do the Finite Volume discretisation.
const volScalarField & q() const
Return heat flux at surface field.
scalar nParticle_
Number of real atoms/molecules represented by a parcel.
scalar internalEnergyOfSystem() const
Total internal energy in the system.
scalar maxwellianAverageSpeed(scalar temperature, scalar mass) const
Average particle speed.
List< typename ParcelType::constantProperties > constProps_
Parcel constant properties - one for each type.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
const WallInteractionModel< DSMCCloud< ParcelType > > & wallInteraction() const
Return reference to wall interaction model.
void initialise(const IOdictionary &dsmcInitialiseDict)
Initialise the system.
volScalarField q_
Heat flux at surface field.
autoPtr< InflowBoundaryModel< DSMCCloud< ParcelType > > > inflowBoundaryModel_
Inflow boundary model.
List< word > typeIdList_
A list of unique instances of molecule types in the.
volScalarField::GeometricBoundaryField & qBF()
Return non-const heat flux boundary field reference.
volScalarField::GeometricBoundaryField & rhoNBF()
Return non-const number density boundary field reference.
const volVectorField & momentum() const
Return the momentum density field.
Base cloud calls templated on particle type.
virtual void autoMap(const mapPolyMesh &)
Remap the particles to the correct cells following mesh change.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
scalar equipartitionInternalEnergy(scalar temperature, direction internalDegreesOfFreedom)
Generate a random internal energy, sampled from the.
scalar maxwellianMostProbableSpeed(scalar temperature, scalar mass) const
Most probable speed.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
volScalarField::GeometricBoundaryField & internalEBF()
Return non-const internal energy density boundary field.
const volScalarField & rhoM() const
Return the particle mass density field.
volVectorField boundaryU_
Boundary velocity.
Random rndGen_
Random number generator.
void calculateFields()
Calculate the volume field data.
Virtual abstract base class for templated DSMCCloud.
const InflowBoundaryModel< DSMCCloud< ParcelType > > & inflowBoundary() const
Return reference to wall interaction model.
Generic GeometricField class.
volVectorField momentum_
Momentum density field.
Templated inflow boundary model class.
const volScalarField & dsmcRhoN() const
Return the field of number of DSMC particles.
const volScalarField & linearKE() const
Return the total linear kinetic energy (translational and.
void evolve()
Evolve the cloud (move, collide)
scalar nParticle() const
Return the number of real particles represented by one.
volScalarField dsmcRhoN_
Dsmc particle density field.
vector linearMomentumOfSystem() const
Total linear momentum of the system.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
volScalarField boundaryT_
Boundary temperature.
const volVectorField & fD() const
Return force density at surface field.
volScalarField internalE_
Internal energy density field.
volScalarField::GeometricBoundaryField & iDofBF()
Return non-const internal degree of freedom density boundary.
const IOdictionary & particleProperties() const
Return particle properties dictionary.