Go to the documentation of this file.
58 template<
class CloudType>
61 template<
class CloudType>
64 template<
class CloudType>
71 template<
class ParcelType>
74 public Cloud<ParcelType>,
81 const word cloudName_;
156 binaryCollisionModel_;
160 wallInteractionModel_;
164 inflowBoundaryModel_;
170 void buildConstProps();
173 void buildCellOccupancy();
176 void initialise(
const IOdictionary& dsmcInitialiseDict);
185 void calculateFields();
191 void operator=(
const DSMCCloud&) =
delete;
266 inline const typename ParcelType::constantProperties&
276 inline volScalarField::Boundary&
qBF();
279 inline volVectorField::Boundary&
fDBF();
282 inline volScalarField::Boundary&
rhoNBF();
285 inline volScalarField::Boundary&
rhoMBF();
289 inline volScalarField::Boundary&
linearKEBF();
297 inline volScalarField::Boundary&
iDofBF();
300 inline volVectorField::Boundary&
momentumBF();
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
volScalarField::Boundary & rhoMBF()
Return non-const mass density boundary field reference.
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.
A class for handling words, derived from Foam::string.
volScalarField::Boundary & rhoNBF()
Return non-const number density boundary field reference.
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.
vector equipartitionLinearVelocity(scalar temperature, scalar mass)
Generate a random velocity sampled from the Maxwellian speed.
volScalarField::Boundary & qBF()
Return non-const heat flux boundary field reference.
const volScalarField & boundaryT() const
Return macroscopic temperature.
const volVectorField & boundaryU() const
Return macroscopic velocity.
volVectorField::Boundary & momentumBF()
Return non-const momentum density boundary field reference.
Random & rndGen()
Return reference to the random object.
volVectorField::Boundary & fDBF()
Return non-const force density at 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.
scalar linearKineticEnergyOfSystem() const
Total linear kinetic energy in the system.
const fvMesh & mesh() const
Return reference 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.
volScalarField::Boundary & iDofBF()
Return non-const internal degree of freedom density boundary.
const InflowBoundaryModel< DSMCCloud< ParcelType > > & inflowBoundary() const
Return reference to wall interaction model.
virtual ~DSMCCloud()
Destructor.
Templated base class for dsmc cloud.
const List< DynamicList< ParcelType * > > & cellOccupancy() const
Return the cell occupancy addressing.
scalar maxwellianRMSSpeed(scalar temperature, scalar mass) const
RMS particle speed.
Templated wall interaction model class.
void addNewParcel(const vector &position, const label celli, const vector &U, const scalar Ei, const label typeId)
Add new parcel.
const volScalarField & internalE() const
Return the internal energy density field.
Mesh data needed to do the Finite Volume discretisation.
const volScalarField & q() const
Return heat flux at surface field.
scalar internalEnergyOfSystem() const
Total internal energy in the system.
void readFields(const typename GeoFieldType::Mesh &mesh, const IOobjectList &objects, const wordHashSet &selectedFields, LIFOStack< regIOobject * > &storedObjects)
Read the selected GeometricFields of the templated type.
scalar maxwellianAverageSpeed(scalar temperature, scalar mass) const
Average particle speed.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
volScalarField::Boundary & internalEBF()
Return non-const internal energy density boundary field.
volScalarField::Boundary & linearKEBF()
Return non-const linear kinetic energy density boundary.
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.
const volScalarField & rhoM() const
Return the particle mass density field.
Virtual abstract base class for templated DSMCCloud.
Templated inflow boundary model class.
const BinaryCollisionModel< DSMCCloud< ParcelType > > & binaryCollision() const
Return reference to binary elastic collision model.
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.
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...
const volVectorField & fD() const
Return force density at surface field.
const WallInteractionModel< DSMCCloud< ParcelType > > & wallInteraction() const
Return reference to wall interaction model.
const IOdictionary & particleProperties() const
Return particle properties dictionary.