From 02bb584fca9a054506b89c921b7289ab62d603bf Mon Sep 17 00:00:00 2001 From: andy Date: Tue, 13 Aug 2013 14:16:05 +0100 Subject: [PATCH 1/7] ENH: tutorial updates --- .../verticalChannel/constant/reactingCloud1Properties | 3 +-- .../simplifiedSiwek/constant/coalCloud1Properties | 3 +-- .../hopper/hopperEmptying/constant/kinematicCloudProperties | 2 ++ .../hopperInitialState/constant/kinematicCloudProperties | 2 ++ .../cylinder/constant/reactingCloud1Properties | 2 -- .../hotBoxes/constant/reactingCloud1Properties | 2 -- .../splashPanel/constant/reactingCloud1Properties | 2 -- .../filter/constant/reactingCloud1Properties | 3 +-- .../parcelInBox/constant/reactingCloud1Properties | 3 +-- .../verticalChannel/constant/reactingCloud1Properties | 3 +-- .../verticalChannel/constant/reactingCloud1Properties | 3 +-- .../sprayFoam/aachenBomb/constant/sprayCloudProperties | 2 -- 12 files changed, 10 insertions(+), 20 deletions(-) diff --git a/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/constant/reactingCloud1Properties b/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/constant/reactingCloud1Properties index 6b759cd17e..689d846bac 100644 --- a/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/constant/reactingCloud1Properties +++ b/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/constant/reactingCloud1Properties @@ -70,9 +70,8 @@ constantProperties epsilon0 1; f0 0.5; - Tvap 273; - Tbp 373; Pr 0.7; + TDevol 273; LDevol 0; hRetentionCoeff 1; diff --git a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/coalCloud1Properties b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/coalCloud1Properties index 77742fd018..4f2f0020dc 100644 --- a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/coalCloud1Properties +++ b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/coalCloud1Properties @@ -65,8 +65,7 @@ constantProperties f0 0.5; Pr 0.7; - Tvap 400; - Tbp 400; + TDevol 400; LDevol 0; hRetentionCoeff 1; diff --git a/tutorials/lagrangian/icoUncoupledKinematicParcelFoam/hopper/hopperEmptying/constant/kinematicCloudProperties b/tutorials/lagrangian/icoUncoupledKinematicParcelFoam/hopper/hopperEmptying/constant/kinematicCloudProperties index 159b737d17..06571ffdd1 100644 --- a/tutorials/lagrangian/icoUncoupledKinematicParcelFoam/hopper/hopperEmptying/constant/kinematicCloudProperties +++ b/tutorials/lagrangian/icoUncoupledKinematicParcelFoam/hopper/hopperEmptying/constant/kinematicCloudProperties @@ -68,6 +68,8 @@ subModels surfaceFilmModel none; + stochasticCollisionModel none; + collisionModel pairCollision; pairCollisionCoeffs diff --git a/tutorials/lagrangian/icoUncoupledKinematicParcelFoam/hopper/hopperInitialState/constant/kinematicCloudProperties b/tutorials/lagrangian/icoUncoupledKinematicParcelFoam/hopper/hopperInitialState/constant/kinematicCloudProperties index 49458393ea..874c386653 100644 --- a/tutorials/lagrangian/icoUncoupledKinematicParcelFoam/hopper/hopperInitialState/constant/kinematicCloudProperties +++ b/tutorials/lagrangian/icoUncoupledKinematicParcelFoam/hopper/hopperInitialState/constant/kinematicCloudProperties @@ -78,6 +78,8 @@ subModels surfaceFilmModel none; + stochasticCollisionModel none; + collisionModel pairCollision; pairCollisionCoeffs diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/reactingCloud1Properties b/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/reactingCloud1Properties index b0104d35d2..041e9be531 100644 --- a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/reactingCloud1Properties +++ b/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/reactingCloud1Properties @@ -63,8 +63,6 @@ constantProperties epsilon0 1; f0 0.5; Pr 0.7; - Tvap 273; - Tbp 373; constantVolume false; } diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/reactingCloud1Properties b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/reactingCloud1Properties index fb559463aa..5cfe94ef37 100644 --- a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/reactingCloud1Properties +++ b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/reactingCloud1Properties @@ -63,8 +63,6 @@ constantProperties epsilon0 1; f0 0.5; Pr 0.7; - Tvap 273; - Tbp 373; constantVolume false; } diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/reactingCloud1Properties b/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/reactingCloud1Properties index 9c0d5fdcac..d334256506 100644 --- a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/reactingCloud1Properties +++ b/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/reactingCloud1Properties @@ -63,8 +63,6 @@ constantProperties epsilon0 1; f0 0.5; Pr 0.7; - Tvap 273; - Tbp 373; constantVolume false; } diff --git a/tutorials/lagrangian/reactingParcelFoam/filter/constant/reactingCloud1Properties b/tutorials/lagrangian/reactingParcelFoam/filter/constant/reactingCloud1Properties index 47aa8cf33c..4938ce4706 100644 --- a/tutorials/lagrangian/reactingParcelFoam/filter/constant/reactingCloud1Properties +++ b/tutorials/lagrangian/reactingParcelFoam/filter/constant/reactingCloud1Properties @@ -65,8 +65,7 @@ constantProperties f0 0.5; Pr 0.7; - Tvap 273; - Tbp 373; + TDevol 273; LDevol 0; hRetentionCoeff 1; diff --git a/tutorials/lagrangian/reactingParcelFoam/parcelInBox/constant/reactingCloud1Properties b/tutorials/lagrangian/reactingParcelFoam/parcelInBox/constant/reactingCloud1Properties index 478bbe1359..f24057a445 100644 --- a/tutorials/lagrangian/reactingParcelFoam/parcelInBox/constant/reactingCloud1Properties +++ b/tutorials/lagrangian/reactingParcelFoam/parcelInBox/constant/reactingCloud1Properties @@ -64,9 +64,8 @@ constantProperties epsilon0 1; f0 0.5; - Tvap 284; - Tbp 373; Pr 0.7; + TDevol 284; LDevol 0; hRetentionCoeff 1; diff --git a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/constant/reactingCloud1Properties b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/constant/reactingCloud1Properties index 47cd1a3bb6..be1d4e5104 100644 --- a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/constant/reactingCloud1Properties +++ b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/constant/reactingCloud1Properties @@ -64,9 +64,8 @@ constantProperties epsilon0 1; f0 0.5; - Tvap 273; - Tbp 373; Pr 0.7; + TDevol 273; LDevol 0; hRetentionCoeff 1; diff --git a/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/constant/reactingCloud1Properties b/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/constant/reactingCloud1Properties index 6b759cd17e..689d846bac 100644 --- a/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/constant/reactingCloud1Properties +++ b/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/constant/reactingCloud1Properties @@ -70,9 +70,8 @@ constantProperties epsilon0 1; f0 0.5; - Tvap 273; - Tbp 373; Pr 0.7; + TDevol 273; LDevol 0; hRetentionCoeff 1; diff --git a/tutorials/lagrangian/sprayFoam/aachenBomb/constant/sprayCloudProperties b/tutorials/lagrangian/sprayFoam/aachenBomb/constant/sprayCloudProperties index a812560552..54f3e4dd33 100644 --- a/tutorials/lagrangian/sprayFoam/aachenBomb/constant/sprayCloudProperties +++ b/tutorials/lagrangian/sprayFoam/aachenBomb/constant/sprayCloudProperties @@ -68,8 +68,6 @@ constantProperties epsilon0 1; f0 0.5; Pr 0.7; - Tvap 273; - Tbp 373; constantVolume false; } From 6eca86fba538d4b4d2785f0eeaad3a3034972328 Mon Sep 17 00:00:00 2001 From: andy Date: Tue, 13 Aug 2013 15:12:05 +0100 Subject: [PATCH 2/7] ENH: SprayParcel - removed Tbp and Tvap --- .../spray/parcels/Templates/SprayParcel/SprayParcel.H | 2 -- .../spray/parcels/Templates/SprayParcel/SprayParcelI.H | 6 +----- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/src/lagrangian/spray/parcels/Templates/SprayParcel/SprayParcel.H b/src/lagrangian/spray/parcels/Templates/SprayParcel/SprayParcel.H index 1ac1663d28..65a96036bc 100644 --- a/src/lagrangian/spray/parcels/Templates/SprayParcel/SprayParcel.H +++ b/src/lagrangian/spray/parcels/Templates/SprayParcel/SprayParcel.H @@ -110,8 +110,6 @@ public: const scalar Pr, const scalar pMin, const Switch& constantVolume, - const scalar Tvap, - const scalar Tbp, const scalar sigma0, const scalar mu0 ); diff --git a/src/lagrangian/spray/parcels/Templates/SprayParcel/SprayParcelI.H b/src/lagrangian/spray/parcels/Templates/SprayParcel/SprayParcelI.H index 66e5dc616f..76dad917b7 100644 --- a/src/lagrangian/spray/parcels/Templates/SprayParcel/SprayParcelI.H +++ b/src/lagrangian/spray/parcels/Templates/SprayParcel/SprayParcelI.H @@ -82,8 +82,6 @@ inline Foam::SprayParcel::constantProperties::constantProperties const scalar Pr, const scalar pMin, const Switch& constantVolume, - const scalar Tvap, - const scalar Tbp, const scalar sigma0, const scalar mu0 ) @@ -104,9 +102,7 @@ inline Foam::SprayParcel::constantProperties::constantProperties f0, Pr, pMin, - constantVolume, - Tvap, - Tbp + constantVolume ), sigma0_(sigma0), mu0_(mu0) From 208f63027d72533fb9f156ee3f34ac55e03135fc Mon Sep 17 00:00:00 2001 From: andy Date: Tue, 13 Aug 2013 15:13:50 +0100 Subject: [PATCH 3/7] ENH: Refactored Kinematic cloud/parcels - torque, force and angularMomentum moved to Colliding level --- .../Templates/CollidingCloud/CollidingCloud.C | 14 +++- .../Templates/CollidingCloud/CollidingCloud.H | 15 +++- .../CollidingCloud/CollidingCloudI.H | 20 +++++- .../Templates/KinematicCloud/KinematicCloud.C | 7 +- .../Templates/KinematicCloud/KinematicCloud.H | 3 - .../KinematicCloud/KinematicCloudI.H | 18 ----- .../kinematicCloud/kinematicCloud.H | 2 +- .../CollidingParcel/CollidingParcel.C | 29 ++++++++ .../CollidingParcel/CollidingParcel.H | 48 ++++++++++++- .../CollidingParcel/CollidingParcelI.H | 60 ++++++++++++++-- .../CollidingParcel/CollidingParcelIO.C | 68 ++++++++++++++++++- .../KinematicParcel/KinematicParcel.C | 14 +--- .../KinematicParcel/KinematicParcel.H | 38 ----------- .../KinematicParcel/KinematicParcelI.H | 61 ----------------- .../KinematicParcel/KinematicParcelIO.C | 44 +----------- 15 files changed, 244 insertions(+), 197 deletions(-) diff --git a/src/lagrangian/intermediate/clouds/Templates/CollidingCloud/CollidingCloud.C b/src/lagrangian/intermediate/clouds/Templates/CollidingCloud/CollidingCloud.C index b368c44810..8292b9712b 100644 --- a/src/lagrangian/intermediate/clouds/Templates/CollidingCloud/CollidingCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/CollidingCloud/CollidingCloud.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -234,4 +234,16 @@ void Foam::CollidingCloud::motion(TrackData& td) } +template +void Foam::CollidingCloud::info() +{ + CloudType::info(); + + scalar rotationalKineticEnergy = rotationalKineticEnergyOfSystem(); + reduce(rotationalKineticEnergy, sumOp()); + + Info<< " Rotational kinetic energy = " + << rotationalKineticEnergy << nl; +} + // ************************************************************************* // diff --git a/src/lagrangian/intermediate/clouds/Templates/CollidingCloud/CollidingCloud.H b/src/lagrangian/intermediate/clouds/Templates/CollidingCloud/CollidingCloud.H index c51e6a7bb5..3b42061bf4 100644 --- a/src/lagrangian/intermediate/clouds/Templates/CollidingCloud/CollidingCloud.H +++ b/src/lagrangian/intermediate/clouds/Templates/CollidingCloud/CollidingCloud.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -197,8 +197,13 @@ public: inline CollisionModel >& collision(); + // Check - // Evolution + //- Total rotational kinetic energy in the system + inline scalar rotationalKineticEnergyOfSystem() const; + + + // Cloud evolution functions //- Store the current cloud state void storeState(); @@ -212,6 +217,12 @@ public: //- Particle motion template void motion(TrackData& td); + + + // I-O + + //- Print cloud information + void info(); }; diff --git a/src/lagrangian/intermediate/clouds/Templates/CollidingCloud/CollidingCloudI.H b/src/lagrangian/intermediate/clouds/Templates/CollidingCloud/CollidingCloudI.H index 19f03d39b1..1dedd5da9c 100644 --- a/src/lagrangian/intermediate/clouds/Templates/CollidingCloud/CollidingCloudI.H +++ b/src/lagrangian/intermediate/clouds/Templates/CollidingCloud/CollidingCloudI.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -49,4 +49,22 @@ Foam::CollidingCloud::collision() } +template +inline Foam::scalar +Foam::CollidingCloud::rotationalKineticEnergyOfSystem() const +{ + scalar rotationalKineticEnergy = 0.0; + + forAllConstIter(typename CollidingCloud, *this, iter) + { + const parcelType& p = iter(); + + rotationalKineticEnergy += + p.nParticle()*0.5*p.momentOfInertia()*(p.omega() & p.omega()); + } + + return rotationalKineticEnergy; +} + + // ************************************************************************* // diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C index 445775a928..acf9e8c235 100644 --- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C @@ -864,9 +864,6 @@ void Foam::KinematicCloud::info() scalar linearKineticEnergy = linearKineticEnergyOfSystem(); reduce(linearKineticEnergy, sumOp()); - scalar rotationalKineticEnergy = rotationalKineticEnergyOfSystem(); - reduce(rotationalKineticEnergy, sumOp()); - Info<< "Cloud: " << this->name() << nl << " Current number of parcels = " << returnReduce(this->size(), sumOp