You are on page 1of 4

direction internalDegreesOfFreedom

);
scalar vibrationalBalance
(

direction internalDegreesOfFreedom
);

scalar vibrationalBalance2
(

direction internalDegreesOfFreedom
);

//- Generate a random part of vibrational energy


scalar equipartitionVibrationalEnergy
(
scalar temperature,
direction vibrationalDegreesOfFreedom,
scalar vit
);

//- Generate a status of dissociation


scalar dissociationFactor
(
direction vibrationalDegreesOfFreedom
);

// From the Maxwellian distribution:


//- Average particle speed
inline scalar maxwellianAverageSpeed
(
scalar temperature,
scalar mass
) const;

inline scalarField maxwellianAverageSpeed


(
scalarField temperature,
scalar mass
) const;

//- RMS particle speed


inline scalar maxwellianRMSSpeed
(
scalar temperature,
scalar mass
) const;

inline scalarField maxwellianRMSSpeed


(
scalarField temperature,
scalar mass
) const;

//- Most probable speed


inline scalar maxwellianMostProbableSpeed
(
scalar temperature,
scalar mass
) const;

inline scalarField maxwellianMostProbableSpeed


(
scalarField temperature,
scalar mass
) const;

// Sub-models

//- Return reference to binary elastic collision model


inline const BinaryCollisionModel<DSMCCloud<ParcelType>>&
binaryCollision() const;

//- Return non-const reference to binary elastic collision model


inline BinaryCollisionModel<DSMCCloud<ParcelType>>&
binaryCollision();

//- Return reference to toatal collision energy model


inline const TotalCollisionEnergyModel<DSMCCloud<ParcelType>>&
totalCollision() const;

//- Return non-const reference to toatal collision energy model


inline TotalCollisionEnergyModel<DSMCCloud<ParcelType>>&
totalCollision();

//- Return reference to wall interaction model


inline const WallInteractionModel<DSMCCloud<ParcelType>>&
wallInteraction() const;

//- Return non-const reference to wall interaction model


inline WallInteractionModel<DSMCCloud<ParcelType>>&
wallInteraction();

//- Return reference to wall interaction model


inline const InflowBoundaryModel<DSMCCloud<ParcelType>>&
inflowBoundary() const;

//- Return non-const reference to wall interaction model


inline InflowBoundaryModel<DSMCCloud<ParcelType>>&
inflowBoundary();

// Check

//- Total mass in system


inline scalar massInSystem() const;

//- Total linear momentum of the system


inline vector linearMomentumOfSystem() const;

//- Total linear kinetic energy in the system


inline scalar linearKineticEnergyOfSystem() const;

//- Total internal energy in the system


inline scalar internalEnergyOfSystem() const;

//- Total vibrational energy in the system


inline scalar vibrationalEnergyOfSystem() const;

//- Print cloud information


void info() const;

//- Dump particle positions to .obj file


void dumpParticlePositions() const;

//- Remove particle from cloud and delete //Edited shesh


void deleteParticle(parcelType&);

// Cloud evolution functions

//- Add new parcel


void addNewParcel
(
const vector& position,
const vector& U,
const scalar Ei,
const scalar Kf,
const scalar vibES,
const scalar dissF,
const scalar SLER,
const scalar SLER2,
const scalar NSLEV,
const scalar NSLEV2,
const label celli,
const label tetFacei,
const label tetPtI,
const label typeId
);
//- Evolve the cloud (move, collide)
void evolve();

//- Clear the Cloud


inline void clear();

// Mapping

//- Remap the particles to the correct cells following mesh change
virtual void autoMap(const mapPolyMesh&);
};