From 10fa4fdcfdbc22cdff9cc1f32ecf0d6278acd42a Mon Sep 17 00:00:00 2001 From: andy Date: Thu, 8 Apr 2010 16:40:29 +0100 Subject: [PATCH] ENH: Updates to lagrangian/intermediate library to provide link to surface film modelling - provides mechanism whereby particles can be re-introduced to a cloud - new injection models - new particle properties determined by pulling data from the surface film model --- src/lagrangian/intermediate/Make/files | 3 + src/lagrangian/intermediate/Make/options | 4 +- .../Templates/KinematicCloud/KinematicCloud.C | 18 +- .../Templates/KinematicCloud/KinematicCloud.H | 22 +- .../KinematicCloud/KinematicCloudI.H | 16 + .../Templates/ReactingCloud/ReactingCloud.C | 2 + .../ReactingMultiphaseCloud.C | 2 + .../Templates/ThermoCloud/ThermoCloud.C | 2 + .../KinematicParcel/KinematicParcel.C | 30 +- .../Templates/ThermoParcel/ThermoParcel.H | 3 + .../Templates/ThermoParcel/ThermoParcelI.H | 7 + ...keBasicReactingMultiphaseParcelSubmodels.C | 5 + .../makeBasicReactingParcelSubmodels.C | 2 + .../makeBasicKinematicParcelSubmodels.C | 2 + .../makeBasicThermoParcelSubmodels.C | 2 + .../makeKinematicParcelSurfaceFilmModels.H | 51 +++ ...eactingMultiphaseParcelSurfaceFilmModels.H | 74 +++++ .../makeReactingParcelSurfaceFilmModels.H | 84 +++++ .../makeThermoParcelSurfaceFilmModels.H | 59 ++++ .../InjectionModel/InjectionModel.C | 44 ++- .../InjectionModel/InjectionModel.H | 6 + .../NoSurfaceFilm/NoSurfaceFilm.C | 88 ++++++ .../NoSurfaceFilm/NoSurfaceFilm.H | 127 ++++++++ .../SurfaceFilmModel/NewSurfaceFilmModel.C | 66 ++++ .../SurfaceFilmModel/SurfaceFilmModel.C | 184 +++++++++++ .../SurfaceFilmModel/SurfaceFilmModel.H | 292 ++++++++++++++++++ .../SurfaceFilmModel/SurfaceFilmModelI.H | 93 ++++++ .../ThermoSurfaceFilm/ThermoSurfaceFilm.C | 173 +++++++++++ .../ThermoSurfaceFilm/ThermoSurfaceFilm.H | 148 +++++++++ .../ThermoSurfaceFilm/ThermoSurfaceFilmI.H | 135 ++++++++ .../injection/cloudInjection/cloudInjection.C | 118 +++++++ .../injection/cloudInjection/cloudInjection.H | 142 +++++++++ .../cloudInjection/cloudInjectionI.H | 44 +++ 33 files changed, 2020 insertions(+), 28 deletions(-) create mode 100644 src/lagrangian/intermediate/parcels/include/makeKinematicParcelSurfaceFilmModels.H create mode 100644 src/lagrangian/intermediate/parcels/include/makeReactingMultiphaseParcelSurfaceFilmModels.H create mode 100644 src/lagrangian/intermediate/parcels/include/makeReactingParcelSurfaceFilmModels.H create mode 100644 src/lagrangian/intermediate/parcels/include/makeThermoParcelSurfaceFilmModels.H create mode 100644 src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/NoSurfaceFilm/NoSurfaceFilm.C create mode 100644 src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/NoSurfaceFilm/NoSurfaceFilm.H create mode 100644 src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/NewSurfaceFilmModel.C create mode 100644 src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.C create mode 100644 src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.H create mode 100644 src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModelI.H create mode 100644 src/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilm.C create mode 100644 src/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilm.H create mode 100644 src/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilmI.H create mode 100644 src/lagrangian/intermediate/submodels/addOns/surfaceFilmModel/injection/cloudInjection/cloudInjection.C create mode 100644 src/lagrangian/intermediate/submodels/addOns/surfaceFilmModel/injection/cloudInjection/cloudInjection.H create mode 100644 src/lagrangian/intermediate/submodels/addOns/surfaceFilmModel/injection/cloudInjection/cloudInjectionI.H diff --git a/src/lagrangian/intermediate/Make/files b/src/lagrangian/intermediate/Make/files index 2ee3d31c3f..8ac0c9f1b6 100644 --- a/src/lagrangian/intermediate/Make/files +++ b/src/lagrangian/intermediate/Make/files @@ -49,6 +49,9 @@ RADIATION=submodels/addOns/radiation $(RADIATION)/absorptionEmission/cloudAbsorptionEmission/cloudAbsorptionEmission.C $(RADIATION)/scatter/cloudScatter/cloudScatter.C +SURFACEFILM=submodels/addOns/surfaceFilmModel +$(SURFACEFILM)/injection/cloudInjection/cloudInjection.C + submodels/Kinematic/PatchInteractionModel/LocalInteraction/patchInteractionData.C KINEMATICINJECTION=submodels/Kinematic/InjectionModel diff --git a/src/lagrangian/intermediate/Make/options b/src/lagrangian/intermediate/Make/options index f352597282..03d6e816cb 100644 --- a/src/lagrangian/intermediate/Make/options +++ b/src/lagrangian/intermediate/Make/options @@ -15,9 +15,11 @@ EXE_INC = \ -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \ -I$(LIB_SRC)/turbulenceModels/compressible/RAS/lnInclude \ -I$(LIB_SRC)/turbulenceModels/LES/LESdeltas/lnInclude \ - -I$(LIB_SRC)/turbulenceModels/compressible/LES/lnInclude + -I$(LIB_SRC)/turbulenceModels/compressible/LES/lnInclude \ + -I$(LIB_SRC)/surfaceFilmModels/lnInclude LIB_LIBS = \ + -lsurfaceFilmModels \ -lfiniteVolume \ -lmeshTools \ -llagrangian \ diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C index dca0ecc37f..acc98daf63 100644 --- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C @@ -32,6 +32,7 @@ License #include "InjectionModel.H" #include "PatchInteractionModel.H" #include "PostProcessingModel.H" +#include "SurfaceFilmModel.H" // * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * // @@ -77,6 +78,8 @@ void Foam::KinematicCloud::evolveCloud() g_.value() ); + this->surfaceFilm().inject(td); + this->injection().inject(td); if (coupled_) @@ -185,6 +188,15 @@ Foam::KinematicCloud::KinematicCloud *this ) ), + surfaceFilmModel_ + ( + SurfaceFilmModel >::New + ( + this->particleProperties_, + *this, + g + ) + ), UIntegrator_ ( vectorIntegrationScheme::New @@ -270,14 +282,12 @@ template void Foam::KinematicCloud::info() const { Info<< "Cloud: " << this->name() << nl - << " Total number of parcels added = " - << this->injection().parcelsAddedTotal() << nl - << " Total mass introduced = " - << this->injection().massInjected() << nl << " Current number of parcels = " << returnReduce(this->size(), sumOp