Skip to content
  • Allen George's avatar
    896cc455
    Introduction of scalarTransport models as a unified framework to handle... · 896cc455
    Allen George authored and Stephan Kelm's avatar Stephan Kelm committed
    Introduction of scalarTransport models as a unified framework to handle fog/aerosol/noble gas transport. 
    Major refactoring of the condensationModels library.
    
    # condensation library
    * Condensation library (`condensationModels`) completely refactored to provide a general and logical framework for condensation handling.
      - Fields like `massTransferRate` and `qcond` are shared between both wall and bulk condensation models, where internal field values represent bulk condensation values and boundary values represent wall condenation values.
        - The fields are only created if wall or bulk condensation is ON.
        - The fields like `condSucVelocity` are defined as boundary fields to save memory
      - The DtKader and DtJayatilleke wall condensation models are replaced with a generic wall condensation model named `diffusionLayer` which is selected by default.
        - The Dt calculation are moved to boundaryConditions named `compressible::DtKaderWallFunction` and `compressible::DtJayatillekeWallFunction` which are dynamically created based on the entries in the `condensationProperties`.
         - The Dt wall functions gets corrected by the multiSpeciesDiffusivity class
      - BCs: `condensingWallVelcoity` and `nonCondensableMassFraction` modified to work well with new condensationModel library.
      - Bulk condensation model for H2O is renamed to `saturationEquilibrium` model
        - This model now calculates only source terms due to bulk condensation and does not perform fog transport
      - The fog transport is now taken care by the `scalarTransportModel` in which the fog is one of the scalars which will have source terms coming from the bulk condensation model
        - The name of the scalar to be transported as fog is defined as dictionary entry in the `condensationProperties` as `scalarName`.
      - The `containmentFluid` module is now has a simplified way of adding condensation source terms, in which all the conditions for adding source terms are now handled by the condensationModel class
    * `fvModels` named `tubrulenceSourceSink` added include the bulk condensation source terms in the k and omega fields.
    * All the condensation [testCases](testCases/bulkCondensation) updated to fit with the new library sturcture.
    
    # scalar transport library
    * New library named `scalarTransportModels` added for handling different kinds of scalars.
      - It provides a general framework for handling different types and arbitary number of scalars like aerosols, fog and noble (tracer) gases.
      - The aerosol and fog scalars can be mono or poly dispersed.
      - The noble gases are not dispersed and hence does not contain terms related to diameter, but has additional molecular diffusivty term.
      - The framework also allows the scalars interaction to be segregated or aggregated.
        - The `segregated` interaction approach considers each scalar (aerosol or fog) as a distinct entity, each with its own drift velocity and Brownian diffusion coefficient, allowing them to be transported independently.
        - In contrast, the `mixture` interaction approach treats all scalars (aerosols and fog) as a single entity, sharing a common drift velocity and Browninan diffusion coeffient.
        - The noble gas scalars are always segregated.
      - The `multiScalarTransportModel` class combines all scalarTransports to a unified framework.
      - The `aerosol` scalars have to option to add `decay heat` to the gas mixture.
      - The properties and model selection for scalars are specified in the `scalarProperties` [dictionary](doc/files/scalarTransport.md).
      - Added scalarTransportSizeDistribution and depositionEfficiency function objects for scalar fields post processing.
      - Added `testCases/scalarTransport` to demonstrate and test the scalarTransport model library.
    * `fvModels` named `fieldEqnStabilisation` added prevent failure of single cell simulation test cases.
    
    # Generic models library
    * New library named `genericModels` added for all common models which are shared by other libraries.
      - These include Brownian diffusion models, drift velocity models, population balance models and thermophysical models.
      - The drift velocity model has submodels for including drag, thermophoresis and diffusionphoresis models into the drift velocity formulation.
      - The population balance model comprises of submodels for nucleation, coalescence and growth or shrink.
      - The thermophysical model consists of latent heat and saturation condition calculation models which currently features formulations for steam.
    
    # containmentFoam template executables
    * Added executables for generated template files with containmentFOAM headers.
      - This is an alternative of openfoam template file generation executables.
      - containmentFOAM template generation executables - cfNewSource, cfNewApp, cfNewBC, cfNewFunctionObject, cfNewTemplate.
      - The `Allwmake.sh` will add these executables to the APPBIN for usage within containmentFOAM.
    896cc455
    Introduction of scalarTransport models as a unified framework to handle...
    Allen George authored and Stephan Kelm's avatar Stephan Kelm committed
    Introduction of scalarTransport models as a unified framework to handle fog/aerosol/noble gas transport. 
    Major refactoring of the condensationModels library.
    
    # condensation library
    * Condensation library (`condensationModels`) completely refactored to provide a general and logical framework for condensation handling.
      - Fields like `massTransferRate` and `qcond` are shared between both wall and bulk condensation models, where internal field values represent bulk condensation values and boundary values represent wall condenation values.
        - The fields are only created if wall or bulk condensation is ON.
        - The fields like `condSucVelocity` are defined as boundary fields to save memory
      - The DtKader and DtJayatilleke wall condensation models are replaced with a generic wall condensation model named `diffusionLayer` which is selected by default.
        - The Dt calculation are moved to boundaryConditions named `compressible::DtKaderWallFunction` and `compressible::DtJayatillekeWallFunction` which are dynamically created based on the entries in the `condensationProperties`.
         - The Dt wall functions gets corrected by the multiSpeciesDiffusivity class
      - BCs: `condensingWallVelcoity` and `nonCondensableMassFraction` modified to work well with new condensationModel library.
      - Bulk condensation model for H2O is renamed to `saturationEquilibrium` model
        - This model now calculates only source terms due to bulk condensation and does not perform fog transport
      - The fog transport is now taken care by the `scalarTransportModel` in which the fog is one of the scalars which will have source terms coming from the bulk condensation model
        - The name of the scalar to be transported as fog is defined as dictionary entry in the `condensationProperties` as `scalarName`.
      - The `containmentFluid` module is now has a simplified way of adding condensation source terms, in which all the conditions for adding source terms are now handled by the condensationModel class
    * `fvModels` named `tubrulenceSourceSink` added include the bulk condensation source terms in the k and omega fields.
    * All the condensation [testCases](testCases/bulkCondensation) updated to fit with the new library sturcture.
    
    # scalar transport library
    * New library named `scalarTransportModels` added for handling different kinds of scalars.
      - It provides a general framework for handling different types and arbitary number of scalars like aerosols, fog and noble (tracer) gases.
      - The aerosol and fog scalars can be mono or poly dispersed.
      - The noble gases are not dispersed and hence does not contain terms related to diameter, but has additional molecular diffusivty term.
      - The framework also allows the scalars interaction to be segregated or aggregated.
        - The `segregated` interaction approach considers each scalar (aerosol or fog) as a distinct entity, each with its own drift velocity and Brownian diffusion coefficient, allowing them to be transported independently.
        - In contrast, the `mixture` interaction approach treats all scalars (aerosols and fog) as a single entity, sharing a common drift velocity and Browninan diffusion coeffient.
        - The noble gas scalars are always segregated.
      - The `multiScalarTransportModel` class combines all scalarTransports to a unified framework.
      - The `aerosol` scalars have to option to add `decay heat` to the gas mixture.
      - The properties and model selection for scalars are specified in the `scalarProperties` [dictionary](doc/files/scalarTransport.md).
      - Added scalarTransportSizeDistribution and depositionEfficiency function objects for scalar fields post processing.
      - Added `testCases/scalarTransport` to demonstrate and test the scalarTransport model library.
    * `fvModels` named `fieldEqnStabilisation` added prevent failure of single cell simulation test cases.
    
    # Generic models library
    * New library named `genericModels` added for all common models which are shared by other libraries.
      - These include Brownian diffusion models, drift velocity models, population balance models and thermophysical models.
      - The drift velocity model has submodels for including drag, thermophoresis and diffusionphoresis models into the drift velocity formulation.
      - The population balance model comprises of submodels for nucleation, coalescence and growth or shrink.
      - The thermophysical model consists of latent heat and saturation condition calculation models which currently features formulations for steam.
    
    # containmentFoam template executables
    * Added executables for generated template files with containmentFOAM headers.
      - This is an alternative of openfoam template file generation executables.
      - containmentFOAM template generation executables - cfNewSource, cfNewApp, cfNewBC, cfNewFunctionObject, cfNewTemplate.
      - The `Allwmake.sh` will add these executables to the APPBIN for usage within containmentFOAM.
Loading