56 template<
class CloudType>
57 class BinaryCollisionModel;
59 template<
class CloudType>
60 class WallInteractionModel;
62 template<
class CloudType>
63 class InflowBoundaryModel;
76 template<
class ParcelType>
79 public Cloud<ParcelType>,
86 const word cloudName_;
164 binaryCollisionModel_;
168 wallInteractionModel_;
172 inflowBoundaryModel_;
178 void buildConstProps();
181 void buildCellOccupancy();
184 void initialise(
const IOdictionary& dsmcInitialiseDict);
193 void calculateFields();
271 inline const typename ParcelType::constantProperties&
466 label& nLocateBoundaryHits,
Templated DSMC particle collision class.
Base cloud calls templated on particle type.
Templated base class for dsmc cloud.
volScalarField::Boundary & rhoMBF()
Return non-const mass density boundary field reference.
const volScalarField & boundaryT() const
Return macroscopic temperature.
const word & cloudName() const
Return the cloud type.
void addNewParcel(const vector &position, const label celli, label &nLocateBoundaryHits, const vector &U, const scalar Ei, const label typeId)
Add new parcel.
scalar massInSystem() const
Total mass in system.
DSMCCloud(const word &cloudName, const fvMesh &mesh, bool readFields=true)
Construct given name and mesh, will read Parcels and fields from.
volScalarField::Boundary & rhoNBF()
Return non-const number density boundary field reference.
const List< typename ParcelType::constantProperties > & constProps() const
Return all of the constant properties.
const volScalarField & q() const
Return heat flux at surface field.
const List< DynamicList< ParcelType * > > & cellOccupancy() const
Return the cell occupancy addressing.
virtual ~DSMCCloud()
Destructor.
volScalarField::Boundary & internalEBF()
Return non-const internal energy density boundary field.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
volScalarField & sigmaTcRMax()
Return the sigmaTcRMax field. non-const access to allow.
vector linearMomentumOfSystem() const
Total linear momentum of the system.
const InflowBoundaryModel< DSMCCloud< ParcelType > > & inflowBoundary() const
Return reference to wall interaction model.
vector equipartitionLinearVelocity(scalar temperature, scalar mass)
Generate a random velocity sampled from the Maxwellian speed.
virtual void topoChange(const polyTopoChangeMap &)
Update topology using the given map.
const volScalarField & iDof() const
Return the average internal degrees of freedom field.
virtual void distribute(const polyDistributionMap &)
Redistribute or update using the given distribution map.
const BinaryCollisionModel< DSMCCloud< ParcelType > > & binaryCollision() const
Return reference to binary elastic collision model.
scalar nParticle() const
Return the number of real particles represented by one.
const volVectorField & boundaryU() const
Return macroscopic velocity.
scalar maxwellianRMSSpeed(scalar temperature, scalar mass) const
RMS particle speed.
distributions::standardNormal & stdNormal()
Return reference to the standard normal distribution.
scalar maxwellianMostProbableSpeed(scalar temperature, scalar mass) const
Most probable speed.
volScalarField::Boundary & linearKEBF()
Return non-const linear kinetic energy density boundary.
volVectorField::Boundary & momentumBF()
Return non-const momentum density boundary field reference.
volScalarField::Boundary & qBF()
Return non-const heat flux boundary field reference.
virtual void mapMesh(const polyMeshMap &)
Update from another mesh using the given map.
volVectorField::Boundary & fDBF()
Return non-const force density at boundary field reference.
scalar internalEnergyOfSystem() const
Total internal energy in the system.
randomGenerator & rndGen()
Return reference to the random generator.
void evolve()
Evolve the cloud (move, collide)
scalarField & collisionSelectionRemainder()
Return the collision selection remainder field. non-const.
const volVectorField & momentum() const
Return the momentum density field.
scalar equipartitionInternalEnergy(scalar temperature, direction internalDegreesOfFreedom)
Generate a random internal energy, sampled from the.
const List< word > & typeIdList() const
Return the idList.
volScalarField::Boundary & iDofBF()
Return non-const internal degree of freedom density boundary.
const IOdictionary & particleProperties() const
Return particle properties dictionary.
const volScalarField & linearKE() const
Return the total linear kinetic energy (translational and.
void clear()
Clear the Cloud.
const volScalarField & dsmcRhoN() const
Return the field of number of DSMC particles.
const fvMesh & mesh() const
Return references to the mesh.
const volScalarField & internalE() const
Return the internal energy density field.
void operator=(const DSMCCloud &)=delete
Disallow default bitwise assignment.
scalar maxwellianAverageSpeed(scalar temperature, scalar mass) const
Average particle speed.
void dumpParticlePositions() const
Dump particle positions to .obj file.
const volScalarField & rhoM() const
Return the particle mass density field.
const volScalarField & rhoN() const
Return the real particle number density field.
scalar linearKineticEnergyOfSystem() const
Total linear kinetic energy in the system.
const volVectorField & fD() const
Return force density at surface field.
void info() const
Print cloud information.
const WallInteractionModel< DSMCCloud< ParcelType > > & wallInteraction() const
Return reference to wall interaction model.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Generic GeometricBoundaryField class.
Generic GeometricField class.
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
Templated inflow boundary model class.
Templated wall interaction model class.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Standard normal distribution. Not selectable.
Mesh data needed to do the Finite Volume discretisation.
Class containing mesh-to-mesh mapping information after a mesh distribution where we send parts of me...
Class containing mesh-to-mesh mapping information.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
A class for handling words, derived from string.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
void readFields(const typename GeoFieldType::Mesh &mesh, const IOobjectList &objects, const HashSet< word > &selectedFields, LIFOStack< regIOobject * > &storedObjects)
Read the selected GeometricFields of the specified type.
TemplateName(FvFaceCellWave)