diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C index bbb730bb62658db9a8c700828172bf091439fb8a..f73a9229bed260b70f411c9f1f103dc3e238bc69 100644 --- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C @@ -318,7 +318,6 @@ Foam::KinematicCloud<ParcelType>::KinematicCloud solution_(mesh_, particleProperties_.subDict("solution")), constProps_(particleProperties_), subModelProperties_(particleProperties_.subDict("subModels")), - parcelTypeId_(readLabel(particleProperties_.lookup("parcelTypeId"))), cellValueSourceCorrection_ ( particleProperties_.lookup("cellValueSourceCorrection") diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.H b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.H index e86954ef810e20a60975912b971af5e4d99833c6..f9a203b4ae698eed61c4b1dc7f7e060236b99f8c 100644 --- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.H +++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.H @@ -201,10 +201,6 @@ protected: //- Sub-models dictionary const dictionary& subModelProperties_; - //- Parcel type id - used to flag the type of parcels issued by this - // cloud - const label parcelTypeId_; - //- Flag to correct cell values with latest transfer information // during the lagrangian timestep const Switch cellValueSourceCorrection_; @@ -361,9 +357,6 @@ public: // Cloud data - //- Return the parcel type id - inline label parcelTypeId() const; - //- Return refernce to the random object inline Random& rndGen(); diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H index 7a924d6c65d1b8bff34618c1708d9eb7efc2fd2a..d3078fbb1b7b109f6b59e2e2a90bf44d8cf693c6 100644 --- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H +++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H @@ -93,13 +93,6 @@ inline bool Foam::KinematicCloud<ParcelType>::hasWallImpactDistance() const } -template<class ParcelType> -inline Foam::label Foam::KinematicCloud<ParcelType>::parcelTypeId() const -{ - return parcelTypeId_; -} - - template<class ParcelType> inline const Foam::fvMesh& Foam::KinematicCloud<ParcelType>::mesh() const { diff --git a/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.C b/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.C index 8571238db1cbd0c1ad3037f23ec9e1e65c71361d..6790c8bb12faa9b23de6b037e620f52eda0d0e12 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.C @@ -170,7 +170,7 @@ Foam::ThermoCloud<ParcelType>::ThermoCloud this->solution().integrationSchemes() ) ), - radiation_(this->particleProperties().lookup("radiation")), + radiation_(this->subModelProperties().lookup("radiation")), hsTrans_ ( IOobject diff --git a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.H b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.H index 7ff71216d80d2905b317e1dc9c98fa1a0da7d939..f88672be6e2b0d503f26863ee592970bf93d2207 100644 --- a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.H +++ b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.H @@ -96,6 +96,10 @@ public: //- Constant properties dictionary const dictionary dict_; + //- Parcel type id - used for post-processing to flag the type + // of parcels issued by this cloud + const label parcelTypeId_; + //- Minimum density [kg/m3] const scalar rhoMin_; @@ -122,6 +126,9 @@ public: //- Return const access to the constant properties dictionary inline const dictionary& dict() const; + //- Return const access to the parcel type id + inline label parcelTypeId() const; + //- Return const access to the minimum density inline scalar rhoMin() const; diff --git a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelI.H b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelI.H index 855c8add6ce9dbffdfa2f330ea13f515395c4e9f..6b0cb76ba245937566190369076b082590f4c392 100644 --- a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelI.H +++ b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelI.H @@ -36,6 +36,7 @@ inline Foam::KinematicParcel<ParcelType>::constantProperties::constantProperties ) : dict_(parentDict.subDict("constantProperties")), + parcelTypeId_(readLabel(dict_.lookup("parcelTypeId"))), rhoMin_(readScalar(dict_.lookup("rhoMin"))), rho0_(readScalar(dict_.lookup("rho0"))), minParticleMass_(readScalar(dict_.lookup("minParticleMass"))), @@ -79,7 +80,7 @@ inline Foam::KinematicParcel<ParcelType>::KinematicParcel : Particle<ParcelType>(owner, position, cellI, tetFaceI, tetPtI), active_(true), - typeId_(owner.parcelTypeId()), + typeId_(owner.constProps().parcelTypeId()), nParticle_(0), d_(0.0), dTarget_(0.0), @@ -146,6 +147,14 @@ Foam::KinematicParcel<ParcelType>::constantProperties::dict() const } +template<class ParcelType> +inline Foam::label +Foam::KinematicParcel<ParcelType>::constantProperties::parcelTypeId() const +{ + return parcelTypeId_; +} + + template <class ParcelType> inline Foam::scalar Foam::KinematicParcel<ParcelType>::constantProperties::rhoMin() const diff --git a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/coalCloud1Properties b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/coalCloud1Properties index c965f964c8b977832623a9717a95937fabfd4adc..52dfc816b10c232fe4e3c42553bf3cc6f6f21a55 100644 --- a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/coalCloud1Properties +++ b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/coalCloud1Properties @@ -38,28 +38,31 @@ solution } } -radiation on; - -parcelTypeId 1; - constantProperties { + parcelTypeId 1; + rhoMin 1e-15; TMin 200; pMin 1000; minParticleMass 1e-15; + rho0 1000; - youngsModulus 2e9; - poissonsRatio 0.35; T0 300; cp0 4187; + + youngsModulus 2e9; + poissonsRatio 0.35; + epsilon0 1; f0 0.5; + Pr 0.7; Tvap 400; Tbp 400; LDevol 0; hRetentionCoeff 1; + constantVolume true; } @@ -97,6 +100,8 @@ subModels SurfaceFilmModel none; + radiation on; + ManualInjectionCoeffs { massTotal massTotal [ 1 0 0 0 0 ] 0.0001; diff --git a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/limestoneCloud1Properties b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/limestoneCloud1Properties index 0524272eb698f00c8ae5f0f5a0146e6cd03b41cc..0d8c7a1bbda2e626f5f062b637042c822d371213 100644 --- a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/limestoneCloud1Properties +++ b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/limestoneCloud1Properties @@ -37,22 +37,24 @@ solution } } -radiation on; - -parcelTypeId 2; - constantProperties { + parcelTypeId 2; + rhoMin 1e-15; TMin 200; minParticleMass 1e-15; + rho0 2500; - youngsModulus 40e9; - poissonsRatio 0.25; T0 300; cp0 900; + + youngsModulus 40e9; + poissonsRatio 0.25; + epsilon0 1; f0 0.5; + Pr 0.7; } @@ -82,6 +84,8 @@ subModels SurfaceFilmModel none; + radiation on; + ManualInjectionCoeffs { massTotal massTotal [ 1 0 0 0 0 ] 0.0001; diff --git a/tutorials/lagrangian/porousExplicitSourceReactingParcelFoam/filter/constant/reactingCloud1Properties b/tutorials/lagrangian/porousExplicitSourceReactingParcelFoam/filter/constant/reactingCloud1Properties index 8244491a541ea45ff8adff38e212f78b686409c6..7a779261f0ee857f4758f15a16df604b679d3587 100644 --- a/tutorials/lagrangian/porousExplicitSourceReactingParcelFoam/filter/constant/reactingCloud1Properties +++ b/tutorials/lagrangian/porousExplicitSourceReactingParcelFoam/filter/constant/reactingCloud1Properties @@ -38,28 +38,31 @@ solution } } -radiation off; - -parcelTypeId 1; - constantProperties { + parcelTypeId 1; + rhoMin 1e-15; TMin 200; pMin 1000; - rho0 1000; - youngsModulus 1e9; - poissonsRatio 0.35; minParticleMass 1e-15; + + rho0 1000; T0 300; cp0 4100; + + youngsModulus 1e9; + poissonsRatio 0.35; + epsilon0 1; f0 0.5; + Pr 0.7; Tvap 273; Tbp 373; LDevol 0; hRetentionCoeff 1; + constantVolume false; } @@ -97,6 +100,8 @@ subModels CollisionModel none; + radiation off; + ReactingMultiphaseLookupTableInjectionCoeffs { massTotal massTotal [ 1 0 0 0 0 ] 1e-2; diff --git a/tutorials/lagrangian/porousExplicitSourceReactingParcelFoam/parcelInBox/constant/reactingCloud1Properties b/tutorials/lagrangian/porousExplicitSourceReactingParcelFoam/parcelInBox/constant/reactingCloud1Properties index 5a4ad7e91500b97bbedaa57d7e5b13f07a682312..d94a42daa1542b356ee046ce6d6801b0e9a188cf 100644 --- a/tutorials/lagrangian/porousExplicitSourceReactingParcelFoam/parcelInBox/constant/reactingCloud1Properties +++ b/tutorials/lagrangian/porousExplicitSourceReactingParcelFoam/parcelInBox/constant/reactingCloud1Properties @@ -38,28 +38,31 @@ solution } } -radiation off; - -parcelTypeId 1; - constantProperties { + parcelTypeId 1; + rhoMin 1e-15; TMin 200; pMin 1000; - rho0 1000; - youngsModulus 1e9; - poissonsRatio 0.35; minParticleMass 1e-15; + + rho0 1000; T0 350; cp0 4100; + + youngsModulus 1e9; + poissonsRatio 0.35; + epsilon0 1; f0 0.5; + Tvap 284; Tbp 373; Pr 0.7; LDevol 0; hRetentionCoeff 1; + constantVolume false; } @@ -99,6 +102,8 @@ subModels CollisionModel none; + radiation off; + ManualInjectionCoeffs { massTotal massTotal [ 1 0 0 0 0 ] 5.23599e-10; // 1 droplet of density 1000 kg/m3 diff --git a/tutorials/lagrangian/porousExplicitSourceReactingParcelFoam/verticalChannel/constant/reactingCloud1Properties b/tutorials/lagrangian/porousExplicitSourceReactingParcelFoam/verticalChannel/constant/reactingCloud1Properties index 4c127591eb2654ef59c91e6d97446042d7d78977..801cae7f9528152a2718b58182fc23d34629ced8 100644 --- a/tutorials/lagrangian/porousExplicitSourceReactingParcelFoam/verticalChannel/constant/reactingCloud1Properties +++ b/tutorials/lagrangian/porousExplicitSourceReactingParcelFoam/verticalChannel/constant/reactingCloud1Properties @@ -38,28 +38,31 @@ solution } } -radiation off; - -parcelTypeId 1; - constantProperties { + parcelTypeId 1; + rhoMin 1e-15; TMin 200; pMin 1000; - rho0 1000; - youngsModulus 1e9; - poissonsRatio 0.35; minParticleMass 1e-15; + + rho0 1000; T0 350; cp0 4100; + + youngsModulus 1e9; + poissonsRatio 0.35; + epsilon0 1; f0 0.5; + Tvap 273; Tbp 373; Pr 0.7; LDevol 0; hRetentionCoeff 1; + constantVolume false; } @@ -99,6 +102,8 @@ subModels CollisionModel none; + radiation off; + PatchInjectionCoeffs { SOI 0.01; diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/evaporationTest/constant/reactingCloud1Properties b/tutorials/lagrangian/reactingParcelFilmFoam/evaporationTest/constant/reactingCloud1Properties index 33a3f9916d22e22e30dc14db62e93a3e8e8c9c56..541dc8af58fa046cacd4f5177858e6bcf3bde4f3 100644 --- a/tutorials/lagrangian/reactingParcelFilmFoam/evaporationTest/constant/reactingCloud1Properties +++ b/tutorials/lagrangian/reactingParcelFilmFoam/evaporationTest/constant/reactingCloud1Properties @@ -38,27 +38,29 @@ solution } } -radiation off; - -parcelTypeId 1; - constantProperties { + parcelTypeId 1; + rhoMin 1e-15; TMin 200; pMin 1000; - rho0 1000; minParticleMass 1e-15; + + rho0 1000; T0 300; cp0 4187; + epsilon0 1; f0 0.5; + Pr 0.7; Tvap 273; Tbp 373; - constantVolume false; youngsModulus 0; poissonsRatio 0; + + constantVolume false; } particleForces @@ -91,6 +93,8 @@ subModels SurfaceFilmModel ThermoSurfaceFilm; + radiation off; + StandardWallInteractionCoeffs { type rebound; diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/reactingCloud1Properties b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/reactingCloud1Properties index 50a9d5474651a4c5c43a3f86089030be32e60f08..97eeae1d513b29d308457e832a23f364b162463a 100644 --- a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/reactingCloud1Properties +++ b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/reactingCloud1Properties @@ -38,26 +38,28 @@ solution } } -radiation off; - -parcelTypeId 1; - constantProperties { + parcelTypeId 1; + rhoMin 1e-15; TMin 200; pMin 1000; - rho0 1000; - youngsModulus 0; - poissonsRatio 0; minParticleMass 1e-15; + + rho0 1000; T0 300; cp0 4187; + + youngsModulus 0; + poissonsRatio 0; + epsilon0 1; f0 0.5; Pr 0.7; Tvap 273; Tbp 373; + constantVolume false; } @@ -91,6 +93,8 @@ subModels SurfaceFilmModel ThermoSurfaceFilm; // none; + radiation off; + ConeInjectionCoeffs { SOI 0.000; diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/multipleBoxes/constant/reactingCloud1Properties b/tutorials/lagrangian/reactingParcelFilmFoam/multipleBoxes/constant/reactingCloud1Properties index 4eaa6683108d7c36bd72d77edefc5fb02a18636f..cf917e1058c4917c7332dff27c57acc38ca311bf 100644 --- a/tutorials/lagrangian/reactingParcelFilmFoam/multipleBoxes/constant/reactingCloud1Properties +++ b/tutorials/lagrangian/reactingParcelFilmFoam/multipleBoxes/constant/reactingCloud1Properties @@ -38,26 +38,28 @@ solution } } -radiation off; - -parcelTypeId 1; - constantProperties { + parcelTypeId 1; + rhoMin 1e-15; TMin 200; pMin 1000; - rho0 1000; - youngsModulus 1e9; - poissonsRatio 0.35; minParticleMass 1e-15; + + rho0 1000; T0 300; cp0 4187; + + youngsModulus 1e9; + poissonsRatio 0.35; + epsilon0 1; f0 0.5; Pr 0.7; Tvap 273; Tbp 373; + constantVolume false; } @@ -91,6 +93,8 @@ subModels SurfaceFilmModel ThermoSurfaceFilm; // none; + radiation off; + ConeInjectionMPCoeffs { SOI 0.000; diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/panel/constant/reactingCloud1Properties b/tutorials/lagrangian/reactingParcelFilmFoam/panel/constant/reactingCloud1Properties index dc73bbf25dbe91f3f5cd93f52b470c42720d2ab0..ae3045dec60405538c82cbd384a1808f7c00a1a5 100644 --- a/tutorials/lagrangian/reactingParcelFilmFoam/panel/constant/reactingCloud1Properties +++ b/tutorials/lagrangian/reactingParcelFilmFoam/panel/constant/reactingCloud1Properties @@ -38,26 +38,28 @@ solution } } -radiation off; - -parcelTypeId 1; - constantProperties { + parcelTypeId 1; + rhoMin 1e-15; TMin 200; pMin 1000; - rho0 1000; - youngsModulus 1e9; - poissonsRatio 0.35; minParticleMass 1e-15; + + rho0 1000; T0 300; cp0 4187; + + youngsModulus 1e9; + poissonsRatio 0.35; + epsilon0 1; f0 0.5; Pr 0.7; Tvap 273; Tbp 373; + constantVolume false; } @@ -91,6 +93,8 @@ subModels SurfaceFilmModel ThermoSurfaceFilm; + radiation off; + StandardWallInteractionCoeffs { type rebound; diff --git a/tutorials/lagrangian/reactingParcelFoam/evaporationTest/constant/reactingCloud1Properties b/tutorials/lagrangian/reactingParcelFoam/evaporationTest/constant/reactingCloud1Properties index 33aba59d3e9f0d3d36e9c450312f8f705a557bb2..2e29d9d77fdffb4b57e34ad051d474b3fb5494ae 100644 --- a/tutorials/lagrangian/reactingParcelFoam/evaporationTest/constant/reactingCloud1Properties +++ b/tutorials/lagrangian/reactingParcelFoam/evaporationTest/constant/reactingCloud1Properties @@ -38,26 +38,28 @@ solution } } -radiation off; - -parcelTypeId 1; - constantProperties { + parcelTypeId 1; + rhoMin 1e-15; TMin 200; pMin 1000; - rho0 1000; - youngsModulus 1e9; - poissonsRatio 0.35; minParticleMass 1e-15; + + rho0 1000; T0 300; cp0 4187; + + youngsModulus 1e9; + poissonsRatio 0.35; + epsilon0 1; f0 0.5; Pr 0.7; Tvap 273; Tbp 373; + constantVolume false; } @@ -91,6 +93,8 @@ subModels SurfaceFilmModel none; + radiation off; + ManualInjectionCoeffs { massTotal massTotal [ 1 0 0 0 0 ] 1e-8; diff --git a/tutorials/lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/constant/kinematicCloud1Properties b/tutorials/lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/constant/kinematicCloud1Properties index 29fccecae6d374332fe80349f17395455c55098f..ea87f36b7215de0974c6284a264a306cb93041c3 100644 --- a/tutorials/lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/constant/kinematicCloud1Properties +++ b/tutorials/lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/constant/kinematicCloud1Properties @@ -34,13 +34,15 @@ solution } } -parcelTypeId 2; - constantProperties { + parcelTypeId 2; + rhoMin 1e-15; minParticleMass 1e-15; + rho0 5000; + youngsModulus 1e9; poissonsRatio 0.35; } diff --git a/tutorials/lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/constant/thermoCloud1Properties b/tutorials/lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/constant/thermoCloud1Properties index 6ab1d7eb67846c551d66a4bd7a6a6c72515b6d29..b4f9f66a660d3d5f673dd7230b555a5cba108c9b 100644 --- a/tutorials/lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/constant/thermoCloud1Properties +++ b/tutorials/lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/constant/thermoCloud1Properties @@ -37,22 +37,24 @@ solution } } -radiation off; - -parcelTypeId 1; - constantProperties { + parcelTypeId 1; + rhoMin 1e-15; TMin 200; minParticleMass 1e-15; + rho0 2500; - youngsModulus 1e9; - poissonsRatio 0.35; T0 300; cp0 900; + + youngsModulus 1e9; + poissonsRatio 0.35; + epsilon0 1; f0 0.5; + Pr 0.7; } @@ -82,6 +84,8 @@ subModels SurfaceFilmModel none; + radiation off; + ManualInjectionCoeffs { massTotal massTotal [ 1 0 0 0 0 ] 0.0001;