Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include <lagrangianIntermediate/ConstantRateDevolatilisation.H>
00027
00028
00029
00030 template <class CloudType>
00031 Foam::ConstantRateDevolatilisation<CloudType>::ConstantRateDevolatilisation
00032 (
00033 const dictionary& dict,
00034 CloudType& owner
00035 )
00036 :
00037 DevolatilisationModel<CloudType>(dict, owner, typeName),
00038 A0_(dimensionedScalar(this->coeffDict().lookup("A0")).value()),
00039 volatileResidualCoeff_
00040 (
00041 readScalar(this->coeffDict().lookup("volatileResidualCoeff"))
00042 )
00043 {}
00044
00045
00046
00047
00048 template <class CloudType>
00049 Foam::ConstantRateDevolatilisation<CloudType>::~ConstantRateDevolatilisation()
00050 {}
00051
00052
00053
00054
00055 template<class CloudType>
00056 bool Foam::ConstantRateDevolatilisation<CloudType>::active() const
00057 {
00058 return true;
00059 }
00060
00061
00062 template<class CloudType>
00063 Foam::scalar Foam::ConstantRateDevolatilisation<CloudType>::calculate
00064 (
00065 const scalar dt,
00066 const scalar mass0,
00067 const scalar mass,
00068 const scalar T,
00069 const scalar YVolatile0,
00070 const scalar YVolatile,
00071 bool& canCombust
00072 ) const
00073 {
00074 const scalar massVolatile0 = YVolatile0*mass0;
00075 const scalar massVolatile = YVolatile*mass;
00076
00077 if (massVolatile <= volatileResidualCoeff_*massVolatile0)
00078 {
00079 canCombust = true;
00080 }
00081
00082
00083 const scalar dMass = min(dt*A0_*massVolatile0, massVolatile);
00084
00085 return dMass;
00086 }
00087
00088
00089