Modular solvers: Reorganised directory structure of applications and tutorials
The new flexible and extensible modular solvers structure already provides most
of the simulation functionality needed for single phase, multiphase,
multicomponent etc. fluid flow problems as well as a very effective method of
combining these with solid heat transfer, solid stress, surface film to solve
complex multi-region, multi-physics problems and are now the primary mechanism
for the further development of OpenFOAM simulation capability in future. To
emphasis this for both users and developers the applications/solvers directory
has been separated into applications/modules containing all the solver modules:
├── modules
│ ├── compressibleMultiphaseVoF
│ ├── compressibleVoF
│ ├── film
│ ├── fluid
│ ├── fluidSolver
│ ├── functions
│ ├── incompressibleDenseParticleFluid
│ ├── incompressibleDriftFlux
│ ├── incompressibleFluid
│ ├── incompressibleMultiphaseVoF
│ ├── incompressibleVoF
│ ├── isothermalFilm
│ ├── isothermalFluid
│ ├── movingMesh
│ ├── multicomponentFluid
│ ├── multiphaseEuler
│ ├── multiphaseVoFSolver
│ ├── shockFluid
│ ├── solid
│ ├── solidDisplacement
│ ├── twoPhaseSolver
│ ├── twoPhaseVoFSolver
│ ├── VoFSolver
│ └── XiFluid
applications/solvers containing the foamRun and foamMultiRun solver applications
which instantiate and execute the chosen solver modules and also standalone
solver applications for special initialisation and test activities:
├── solvers
│ ├── boundaryFoam
│ ├── chemFoam
│ ├── foamMultiRun
│ ├── foamRun
│ └── potentialFoam
and applications/legacy containing legacy solver applications which are not
currently being actively developed but the functionality of which will be merged
into the solver modules or form the basis of new solver modules as the need
arises:
├── legacy
│ ├── basic
│ │ ├── financialFoam
│ │ └── laplacianFoam
│ ├── combustion
│ │ └── PDRFoam
│ ├── compressible
│ │ └── rhoPorousSimpleFoam
│ ├── electromagnetics
│ │ ├── electrostaticFoam
│ │ ├── magneticFoam
│ │ └── mhdFoam
│ ├── incompressible
│ │ ├── adjointShapeOptimisationFoam
│ │ ├── dnsFoam
│ │ ├── icoFoam
│ │ ├── porousSimpleFoam
│ │ └── shallowWaterFoam
│ └── lagrangian
│ ├── dsmcFoam
│ ├── mdEquilibrationFoam
│ └── mdFoam
Correspondingly the tutorials directory structure has been reorganised with the
modular solver directories at the top level with names that make it easier for
users to find example cases relating to their particular requirements and a
legacy sub-directory containing cases corresponding to the legacy solver
applications listed above:
├── compressibleMultiphaseVoF
│ └── damBreak4phaseLaminar
├── compressibleVoF
│ ├── ballValve
│ ├── climbingRod
│ ├── damBreak
│ ├── depthCharge2D
│ ├── depthCharge3D
│ ├── sloshingTank2D
│ └── throttle
├── film
│ └── rivuletPanel
├── fluid
│ ├── aerofoilNACA0012
│ ├── aerofoilNACA0012Steady
│ ├── angledDuct
│ ├── angledDuctExplicitFixedCoeff
│ ├── angledDuctLTS
│ ├── annularThermalMixer
│ ├── BernardCells
│ ├── blockedChannel
│ ├── buoyantCavity
│ ├── cavity
│ ├── decompressionTank
│ ├── externalCoupledCavity
│ ├── forwardStep
│ ├── helmholtzResonance
│ ├── hotRadiationRoom
│ ├── hotRadiationRoomFvDOM
│ ├── hotRoom
│ ├── hotRoomBoussinesq
│ ├── hotRoomBoussinesqSteady
│ ├── hotRoomComfort
│ ├── iglooWithFridges
│ ├── mixerVessel2DMRF
│ ├── nacaAirfoil
│ ├── pitzDaily
│ ├── prism
│ ├── shockTube
│ ├── squareBend
│ ├── squareBendLiq
│ └── squareBendLiqSteady
├── incompressibleDenseParticleFluid
│ ├── column
│ ├── cyclone
│ ├── Goldschmidt
│ ├── GoldschmidtMPPIC
│ └── injectionChannel
├── incompressibleDriftFlux
│ ├── dahl
│ ├── mixerVessel2DMRF
│ └── tank3D
├── incompressibleFluid
│ ├── airFoil2D
│ ├── ballValve
│ ├── blockedChannel
│ ├── cavity
│ ├── cavityCoupledU
│ ├── channel395
│ ├── drivaerFastback
│ ├── ductSecondaryFlow
│ ├── elipsekkLOmega
│ ├── flowWithOpenBoundary
│ ├── hopperParticles
│ ├── impeller
│ ├── mixerSRF
│ ├── mixerVessel2D
│ ├── mixerVessel2DMRF
│ ├── mixerVesselHorizontal2DParticles
│ ├── motorBike
│ ├── motorBikeSteady
│ ├── movingCone
│ ├── offsetCylinder
│ ├── oscillatingInlet
│ ├── pipeCyclic
│ ├── pitzDaily
│ ├── pitzDailyLES
│ ├── pitzDailyLESDevelopedInlet
│ ├── pitzDailyLTS
│ ├── pitzDailyPulse
│ ├── pitzDailyScalarTransport
│ ├── pitzDailySteady
│ ├── pitzDailySteadyExperimentalInlet
│ ├── pitzDailySteadyMappedToPart
│ ├── pitzDailySteadyMappedToRefined
│ ├── planarContraction
│ ├── planarCouette
│ ├── planarPoiseuille
│ ├── porousBlockage
│ ├── propeller
│ ├── roomResidenceTime
│ ├── rotor2DRotating
│ ├── rotor2DSRF
│ ├── rotorDisk
│ ├── T3A
│ ├── TJunction
│ ├── TJunctionFan
│ ├── turbineSiting
│ ├── waveSubSurface
│ ├── windAroundBuildings
│ └── wingMotion
├── incompressibleMultiphaseVoF
│ ├── damBreak4phase
│ ├── damBreak4phaseFineLaminar
│ ├── damBreak4phaseLaminar
│ └── mixerVessel2DMRF
├── incompressibleVoF
│ ├── angledDuct
│ ├── capillaryRise
│ ├── cavitatingBullet
│ ├── climbingRod
│ ├── containerDischarge2D
│ ├── damBreak
│ ├── damBreakLaminar
│ ├── damBreakPorousBaffle
│ ├── damBreakWithObstacle
│ ├── DTCHull
│ ├── DTCHullMoving
│ ├── DTCHullWave
│ ├── floatingObject
│ ├── floatingObjectWaves
│ ├── forcedUpstreamWave
│ ├── mixerVessel
│ ├── mixerVessel2DMRF
│ ├── mixerVesselHorizontal2D
│ ├── nozzleFlow2D
│ ├── planingHullW3
│ ├── propeller
│ ├── sloshingCylinder
│ ├── sloshingTank2D
│ ├── sloshingTank2D3DoF
│ ├── sloshingTank3D
│ ├── sloshingTank3D3DoF
│ ├── sloshingTank3D6DoF
│ ├── testTubeMixer
│ ├── waterChannel
│ ├── wave
│ ├── wave3D
│ └── weirOverflow
├── isothermalFilm
│ └── rivuletPanel
├── isothermalFluid
│ ├── potentialFreeSurfaceMovingOscillatingBox
│ └── potentialFreeSurfaceOscillatingBox
├── legacy
│ ├── basic
│ │ ├── financialFoam
│ │ │ └── europeanCall
│ │ └── laplacianFoam
│ │ └── flange
│ ├── combustion
│ │ └── PDRFoam
│ │ └── flamePropagationWithObstacles
│ ├── compressible
│ │ └── rhoPorousSimpleFoam
│ │ ├── angledDuctExplicit
│ │ └── angledDuctImplicit
│ ├── electromagnetics
│ │ ├── electrostaticFoam
│ │ │ └── chargedWire
│ │ └── mhdFoam
│ │ └── hartmann
│ ├── incompressible
│ │ ├── adjointShapeOptimisationFoam
│ │ │ └── pitzDaily
│ │ ├── dnsFoam
│ │ │ └── boxTurb16
│ │ ├── icoFoam
│ │ │ ├── cavity
│ │ │ └── elbow
│ │ ├── porousSimpleFoam
│ │ │ ├── angledDuctExplicit
│ │ │ └── angledDuctImplicit
│ │ └── shallowWaterFoam
│ │ └── squareBump
│ ├── lagrangian
│ │ ├── dsmcFoam
│ │ │ ├── freeSpacePeriodic
│ │ │ ├── freeSpaceStream
│ │ │ ├── supersonicCorner
│ │ │ └── wedge15Ma5
│ │ ├── mdEquilibrationFoam
│ │ │ ├── periodicCubeArgon
│ │ │ └── periodicCubeWater
│ │ └── mdFoam
│ │ └── nanoNozzle
├── mesh
│ ├── blockMesh
│ │ ├── pipe
│ │ ├── sphere
│ │ ├── sphere7
│ │ └── sphere7ProjectedEdges
│ ├── refineMesh
│ │ └── refineFieldDirs
│ └── snappyHexMesh
│ ├── flange
│ └── pipe
├── movingMesh
│ └── SnakeRiverCanyon
├── multicomponentFluid
│ ├── aachenBomb
│ ├── counterFlowFlame2D
│ ├── counterFlowFlame2D_GRI
│ ├── counterFlowFlame2D_GRI_TDAC
│ ├── counterFlowFlame2DLTS
│ ├── counterFlowFlame2DLTS_GRI_TDAC
│ ├── DLR_A_LTS
│ ├── filter
│ ├── lockExchange
│ ├── membrane
│ ├── nc7h16
│ ├── parcelInBox
│ ├── SandiaD_LTS
│ ├── simplifiedSiwek
│ ├── smallPoolFire2D
│ ├── smallPoolFire3D
│ ├── verticalChannel
│ ├── verticalChannelLTS
│ └── verticalChannelSteady
├── multiphaseEuler
│ ├── bed
│ ├── bubbleColumn
│ ├── bubbleColumnEvaporating
│ ├── bubbleColumnEvaporatingDissolving
│ ├── bubbleColumnEvaporatingReacting
│ ├── bubbleColumnIATE
│ ├── bubbleColumnLaminar
│ ├── bubbleColumnLES
│ ├── bubblePipe
│ ├── damBreak4phase
│ ├── fluidisedBed
│ ├── fluidisedBedLaminar
│ ├── Grossetete
│ ├── hydrofoil
│ ├── injection
│ ├── LBend
│ ├── mixerVessel2D
│ ├── mixerVessel2DMRF
│ ├── pipeBend
│ ├── steamInjection
│ ├── titaniaSynthesis
│ ├── titaniaSynthesisSurface
│ ├── wallBoilingIATE
│ ├── wallBoilingPolydisperse
│ └── wallBoilingPolydisperseTwoGroups
├── multiRegion
│ ├── CHT
│ │ ├── circuitBoardCooling
│ │ ├── coolingCylinder2D
│ │ ├── coolingSphere
│ │ ├── heatedDuct
│ │ ├── heatExchanger
│ │ ├── multiphaseCoolingCylinder2D
│ │ ├── reverseBurner
│ │ ├── shellAndTubeHeatExchanger
│ │ ├── VoFcoolingCylinder2D
│ │ └── wallBoiling
│ └── film
│ ├── cylinder
│ ├── cylinderDripping
│ ├── cylinderVoF
│ ├── hotBoxes
│ ├── rivuletBox
│ ├── rivuletPanel
│ ├── splashPanel
│ └── VoFToFilm
├── potentialFoam
│ ├── cylinder
│ └── pitzDaily
├── resources
│ ├── blockMesh
│ ├── geometry
│ └── thermoData
├── shockFluid
│ ├── biconic25-55Run35
│ ├── forwardStep
│ ├── LadenburgJet60psi
│ ├── movingCone
│ ├── obliqueShock
│ ├── shockTube
│ └── wedge15Ma5
├── solidDisplacement
│ ├── beamEndLoad
│ └── plateHole
└── XiFluid
├── kivaTest
└── moriyoshiHomogeneous
This commit is contained in:
39
tutorials/multiphaseEuler/pipeBend/0/T.particles
Normal file
39
tutorials/multiphaseEuler/pipeBend/0/T.particles
Normal file
@ -0,0 +1,39 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
object T.particles;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 1 0 0 0];
|
||||
|
||||
internalField uniform 300;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value $internalField;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
walls
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
39
tutorials/multiphaseEuler/pipeBend/0/T.water
Normal file
39
tutorials/multiphaseEuler/pipeBend/0/T.water
Normal file
@ -0,0 +1,39 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
object T.water;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 1 0 0 0];
|
||||
|
||||
internalField uniform 300;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value $internalField;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
walls
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
39
tutorials/multiphaseEuler/pipeBend/0/U.particles
Normal file
39
tutorials/multiphaseEuler/pipeBend/0/U.particles
Normal file
@ -0,0 +1,39 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volVectorField;
|
||||
object U.particles;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 1 -1 0 0 0 0];
|
||||
|
||||
internalField uniform (0 0 0);
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform (0 0.5 0);
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
walls
|
||||
{
|
||||
type slip;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
39
tutorials/multiphaseEuler/pipeBend/0/U.water
Normal file
39
tutorials/multiphaseEuler/pipeBend/0/U.water
Normal file
@ -0,0 +1,39 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volVectorField;
|
||||
object U.water;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 1 -1 0 0 0 0];
|
||||
|
||||
internalField uniform (0 0 0);
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform (0 0.5 0);
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
walls
|
||||
{
|
||||
type noSlip;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
39
tutorials/multiphaseEuler/pipeBend/0/alpha.particles
Normal file
39
tutorials/multiphaseEuler/pipeBend/0/alpha.particles
Normal file
@ -0,0 +1,39 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
object alpha.particles;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 1e-3;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value $internalField;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
walls
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
39
tutorials/multiphaseEuler/pipeBend/0/alpha.water
Normal file
39
tutorials/multiphaseEuler/pipeBend/0/alpha.water
Normal file
@ -0,0 +1,39 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
object alpha.water;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0.999;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value $internalField;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
walls
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
41
tutorials/multiphaseEuler/pipeBend/0/alphat.particles
Normal file
41
tutorials/multiphaseEuler/pipeBend/0/alphat.particles
Normal file
@ -0,0 +1,41 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
object alphat.particles;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [1 -1 -1 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type calculated;
|
||||
value $internalField;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type calculated;
|
||||
value $internalField;
|
||||
}
|
||||
|
||||
walls
|
||||
{
|
||||
type calculated;
|
||||
value $internalField;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
42
tutorials/multiphaseEuler/pipeBend/0/alphat.water
Normal file
42
tutorials/multiphaseEuler/pipeBend/0/alphat.water
Normal file
@ -0,0 +1,42 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
object alphat.water;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [1 -1 -1 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type calculated;
|
||||
value $internalField;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type calculated;
|
||||
value $internalField;
|
||||
}
|
||||
|
||||
walls
|
||||
{
|
||||
type compressible::alphatWallFunction;
|
||||
Prt 0.85;
|
||||
value $internalField;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
42
tutorials/multiphaseEuler/pipeBend/0/epsilon.water
Normal file
42
tutorials/multiphaseEuler/pipeBend/0/epsilon.water
Normal file
@ -0,0 +1,42 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
object epsilon.water;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 2 -3 0 0 0 0];
|
||||
|
||||
internalField uniform 0.00136;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type turbulentMixingLengthDissipationRateInlet;
|
||||
mixingLength 0.02;
|
||||
k k.water;
|
||||
value $internalField;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
walls
|
||||
{
|
||||
type epsilonWallFunction;
|
||||
value $internalField;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
39
tutorials/multiphaseEuler/pipeBend/0/f.particles
Normal file
39
tutorials/multiphaseEuler/pipeBend/0/f.particles
Normal file
@ -0,0 +1,39 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
object f.particles;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 1.0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value $internalField;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
walls
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
42
tutorials/multiphaseEuler/pipeBend/0/k.water
Normal file
42
tutorials/multiphaseEuler/pipeBend/0/k.water
Normal file
@ -0,0 +1,42 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
object k.water;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 2 -2 0 0 0 0];
|
||||
|
||||
internalField uniform 0.00081;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type turbulentIntensityKineticEnergyInlet;
|
||||
U U.water;
|
||||
intensity 0.05;
|
||||
value $internalField;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
walls
|
||||
{
|
||||
type kqRWallFunction;
|
||||
value $internalField;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
41
tutorials/multiphaseEuler/pipeBend/0/nut.particles
Normal file
41
tutorials/multiphaseEuler/pipeBend/0/nut.particles
Normal file
@ -0,0 +1,41 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
object nut.particles;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 2 -1 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type calculated;
|
||||
value $internalField;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type calculated;
|
||||
value $internalField;
|
||||
}
|
||||
|
||||
walls
|
||||
{
|
||||
type calculated;
|
||||
value $internalField;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
41
tutorials/multiphaseEuler/pipeBend/0/nut.water
Normal file
41
tutorials/multiphaseEuler/pipeBend/0/nut.water
Normal file
@ -0,0 +1,41 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
object nut.water;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 2 -1 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type calculated;
|
||||
value $internalField;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type calculated;
|
||||
value $internalField;
|
||||
}
|
||||
|
||||
walls
|
||||
{
|
||||
type nutkWallFunction;
|
||||
value $internalField;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
41
tutorials/multiphaseEuler/pipeBend/0/p
Normal file
41
tutorials/multiphaseEuler/pipeBend/0/p
Normal file
@ -0,0 +1,41 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
object p;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [1 -1 -2 0 0 0 0];
|
||||
|
||||
internalField uniform 1e5;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type calculated;
|
||||
value $internalField;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type calculated;
|
||||
value $internalField;
|
||||
}
|
||||
|
||||
walls
|
||||
{
|
||||
type calculated;
|
||||
value $internalField;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
42
tutorials/multiphaseEuler/pipeBend/0/p_rgh
Normal file
42
tutorials/multiphaseEuler/pipeBend/0/p_rgh
Normal file
@ -0,0 +1,42 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
object p_rgh;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [1 -1 -2 0 0 0 0];
|
||||
|
||||
internalField uniform 1e5;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type fixedFluxPressure;
|
||||
value $internalField;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type prghPressure;
|
||||
p $internalField;
|
||||
value $internalField;
|
||||
}
|
||||
|
||||
walls
|
||||
{
|
||||
type fixedFluxPressure;
|
||||
value $internalField;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
9
tutorials/multiphaseEuler/pipeBend/Allclean
Executable file
9
tutorials/multiphaseEuler/pipeBend/Allclean
Executable file
@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
cd ${0%/*} || exit 1 # Run from this directory
|
||||
|
||||
# Source clean functions
|
||||
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
|
||||
|
||||
cleanCase && rm -f *.eps
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
28
tutorials/multiphaseEuler/pipeBend/Allrun
Executable file
28
tutorials/multiphaseEuler/pipeBend/Allrun
Executable file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
cd ${0%/*} || exit 1 # Run from this directory
|
||||
|
||||
# Source run functions
|
||||
. $WM_PROJECT_DIR/bin/tools/RunFunctions
|
||||
|
||||
# Mesh
|
||||
runApplication blockMesh
|
||||
runApplication topoSet
|
||||
|
||||
# Run
|
||||
runApplication decomposePar
|
||||
runParallel $(getApplication)
|
||||
runApplication reconstructPar -latestTime
|
||||
|
||||
# Post-process
|
||||
runApplication foamPostProcess -func "
|
||||
graphLayerAverage
|
||||
(
|
||||
name=graphCrossSection,
|
||||
patches=(inlet),
|
||||
axis=distance,
|
||||
d.particles
|
||||
)
|
||||
" -latestTime
|
||||
cd validation && ./createGraphs
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
20
tutorials/multiphaseEuler/pipeBend/constant/g
Normal file
20
tutorials/multiphaseEuler/pipeBend/constant/g
Normal file
@ -0,0 +1,20 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class uniformDimensionedVectorField;
|
||||
object g;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 1 -2 0 0 0 0];
|
||||
value (0 0 -9.81);
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
Binary file not shown.
@ -0,0 +1,34 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object momentumTransport.particles;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
simulationType RAS;
|
||||
|
||||
RAS
|
||||
{
|
||||
model phasePressure;
|
||||
|
||||
turbulence on;
|
||||
printCoeffs on;
|
||||
|
||||
phasePressureCoeffs
|
||||
{
|
||||
preAlphaExp 500;
|
||||
expMax 1000;
|
||||
g0 1000;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,27 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object momentumTransport.water;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
simulationType RAS;
|
||||
|
||||
RAS
|
||||
{
|
||||
model RNGkEpsilon;
|
||||
|
||||
turbulence on;
|
||||
printCoeffs on;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
178
tutorials/multiphaseEuler/pipeBend/constant/phaseProperties
Normal file
178
tutorials/multiphaseEuler/pipeBend/constant/phaseProperties
Normal file
@ -0,0 +1,178 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object phaseProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
type populationBalanceMultiphaseSystem;
|
||||
|
||||
phases (particles water);
|
||||
|
||||
populationBalances (agglomerates);
|
||||
|
||||
particles
|
||||
{
|
||||
type pureIsothermalPhaseModel;
|
||||
|
||||
diameterModel velocityGroup;
|
||||
|
||||
velocityGroupCoeffs
|
||||
{
|
||||
populationBalance agglomerates;
|
||||
|
||||
shapeModel spherical;
|
||||
|
||||
sizeGroups
|
||||
(
|
||||
f1 {dSph 1e-6; value 0;}
|
||||
f2 {dSph 1.21e-6; value 0.000;}
|
||||
f3 {dSph 1.463e-6; value 0.0001;}
|
||||
f4 {dSph 1.77e-6; value 0.0002;}
|
||||
f5 {dSph 2.142e-6; value 0.0004;}
|
||||
f6 {dSph 2.591e-6; value 0.0008;}
|
||||
f7 {dSph 3.134e-6; value 0.0015;}
|
||||
f8 {dSph 3.792e-6; value 0.0025;}
|
||||
f9 {dSph 4.587e-6; value 0.004;}
|
||||
f10 {dSph 5.549e-6; value 0.0062;}
|
||||
f11 {dSph 6.71e-6; value 0.0093;}
|
||||
f12 {dSph 8.12e-6; value 0.0137;}
|
||||
f13 {dSph 9.82e-6; value 0.0198;}
|
||||
f14 {dSph 11.88e-6; value 0.0279;}
|
||||
f15 {dSph 14.38e-6; value 0.0383;}
|
||||
f16 {dSph 17.39e-6; value 0.0512;}
|
||||
f17 {dSph 21.04e-6; value 0.0663;}
|
||||
f18 {dSph 25.45e-6; value 0.0829;}
|
||||
f19 {dSph 30.79e-6; value 0.0991;}
|
||||
f20 {dSph 37.24e-6; value 0.1121;}
|
||||
f21 {dSph 45.06e-6; value 0.1183;}
|
||||
f22 {dSph 54.51e-6; value 0.1141;}
|
||||
f23 {dSph 65.94e-6; value 0.0977;}
|
||||
f24 {dSph 79.77e-6; value 0.0712;}
|
||||
f25 {dSph 96.49e-6; value 0.0412;}
|
||||
f26 {dSph 116.7e-6; value 0.0170;}
|
||||
f27 {dSph 141.2e-6; value 0.004;}
|
||||
f28 {dSph 170.8e-6; value 0.0002;}
|
||||
f29 {dSph 206.7e-6; value 0;}
|
||||
f30 {dSph 250e-6; value 0;}
|
||||
);
|
||||
}
|
||||
|
||||
alphaMax 0.62;
|
||||
residualAlpha 1e-8;
|
||||
}
|
||||
|
||||
water
|
||||
{
|
||||
type pureIsothermalPhaseModel;
|
||||
|
||||
diameterModel none;
|
||||
|
||||
residualAlpha 1e-8;
|
||||
}
|
||||
|
||||
populationBalanceCoeffs
|
||||
{
|
||||
agglomerates
|
||||
{
|
||||
continuousPhase water;
|
||||
|
||||
coalescenceModels
|
||||
(
|
||||
AdachiStuartFokkink{}
|
||||
);
|
||||
|
||||
binaryBreakupModels
|
||||
();
|
||||
|
||||
breakupModels
|
||||
(
|
||||
Kusters
|
||||
{
|
||||
daughterSizeDistributionModel Laakkonen;
|
||||
C4 2;
|
||||
B 50e-7;
|
||||
dP 250e-9;
|
||||
Df 2.4;
|
||||
}
|
||||
);
|
||||
|
||||
driftModels
|
||||
();
|
||||
|
||||
nucleationModels
|
||||
();
|
||||
}
|
||||
}
|
||||
|
||||
blending
|
||||
{
|
||||
default
|
||||
{
|
||||
type continuous;
|
||||
phase water;
|
||||
}
|
||||
}
|
||||
|
||||
surfaceTension
|
||||
{}
|
||||
|
||||
aspectRatio
|
||||
{}
|
||||
|
||||
interfaceCompression
|
||||
{}
|
||||
|
||||
drag
|
||||
{
|
||||
particles_dispersedIn_water
|
||||
{
|
||||
type WenYu;
|
||||
}
|
||||
}
|
||||
|
||||
virtualMass
|
||||
{
|
||||
particles_dispersedIn_water
|
||||
{
|
||||
type constantCoefficient;
|
||||
Cvm 0.5;
|
||||
}
|
||||
}
|
||||
|
||||
heatTransfer
|
||||
{}
|
||||
|
||||
phaseTransfer
|
||||
{}
|
||||
|
||||
lift
|
||||
{
|
||||
particles_dispersedIn_water
|
||||
{
|
||||
type SaffmanMei;
|
||||
residualRe 1e-6;
|
||||
}
|
||||
}
|
||||
|
||||
wallLubrication
|
||||
{}
|
||||
|
||||
turbulentDispersion
|
||||
{
|
||||
particles_dispersedIn_water
|
||||
{
|
||||
type Burns;
|
||||
sigma 1;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,50 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object physicalProperties.particles;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
thermoType
|
||||
{
|
||||
type heRhoThermo;
|
||||
mixture pureMixture;
|
||||
transport const;
|
||||
thermo hConst;
|
||||
equationOfState rhoConst;
|
||||
specie specie;
|
||||
energy sensibleInternalEnergy;
|
||||
}
|
||||
|
||||
mixture
|
||||
{
|
||||
specie
|
||||
{
|
||||
molWeight 14;
|
||||
}
|
||||
equationOfState
|
||||
{
|
||||
rho 1400;
|
||||
}
|
||||
thermodynamics
|
||||
{
|
||||
Cp 1000;
|
||||
Hf 0;
|
||||
}
|
||||
transport
|
||||
{
|
||||
mu 0;
|
||||
Pr 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,50 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object physicalProperties.water;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
thermoType
|
||||
{
|
||||
type heRhoThermo;
|
||||
mixture pureMixture;
|
||||
transport const;
|
||||
thermo hConst;
|
||||
equationOfState rhoConst;
|
||||
specie specie;
|
||||
energy sensibleInternalEnergy;
|
||||
}
|
||||
|
||||
mixture
|
||||
{
|
||||
specie
|
||||
{
|
||||
molWeight 18;
|
||||
}
|
||||
equationOfState
|
||||
{
|
||||
rho 997;
|
||||
};
|
||||
thermodynamics
|
||||
{
|
||||
Cp 4181;
|
||||
Hf 0;
|
||||
}
|
||||
transport
|
||||
{
|
||||
mu 8.9e-4;
|
||||
Pr 6.127;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
183
tutorials/multiphaseEuler/pipeBend/system/blockMeshDict
Normal file
183
tutorials/multiphaseEuler/pipeBend/system/blockMeshDict
Normal file
@ -0,0 +1,183 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object blockMeshDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
convertToMeters 1e-3;
|
||||
|
||||
geometry
|
||||
{
|
||||
torus
|
||||
{
|
||||
type triSurfaceMesh;
|
||||
file "torus.obj";
|
||||
}
|
||||
}
|
||||
|
||||
vertices
|
||||
(
|
||||
(-9.9 0 9.9)
|
||||
(-14.14 0 14.14)
|
||||
(14.14 0 14.14)
|
||||
(9.9 0 9.9)
|
||||
(9.9 0 -9.9)
|
||||
(14.14 0 -14.14)
|
||||
(-14.14 0 -14.14)
|
||||
(-9.9 0 -9.9)
|
||||
(-9.9 400 9.9)
|
||||
(-14.14 400 14.14)
|
||||
(14.14 400 14.14)
|
||||
(9.9 400 9.9)
|
||||
(9.9 400 -9.9)
|
||||
(14.14 400 -14.14)
|
||||
(-14.14 400 -14.14)
|
||||
(-9.9 400 -9.9)
|
||||
(-9.9 450.1 60)
|
||||
(-14.14 445.86 60)
|
||||
(14.14 445.86 60)
|
||||
(9.9 450.1 60)
|
||||
(9.9 469.9 60)
|
||||
(14.14 474.14 60)
|
||||
(-14.14 474.14 60)
|
||||
(-9.9 469.9 60)
|
||||
(-9.9 450.1 460)
|
||||
(-14.14 445.86 460)
|
||||
(14.14 445.86 460)
|
||||
(9.9 450.1 460)
|
||||
(9.9 469.9 460)
|
||||
(14.14 474.14 460)
|
||||
(-14.14 474.14 460)
|
||||
(-9.9 469.9 460)
|
||||
);
|
||||
|
||||
blocks
|
||||
(
|
||||
hex (0 1 2 3 8 9 10 11) (8 12 100) simpleGrading (0.35 1 1)
|
||||
hex (3 2 5 4 11 10 13 12) (8 12 100) simpleGrading (0.35 1 1)
|
||||
hex (4 5 6 7 12 13 14 15) (8 12 100) simpleGrading (0.35 1 1)
|
||||
hex (7 6 1 0 15 14 9 8) (8 12 100) simpleGrading (0.35 1 1)
|
||||
hex (0 3 4 7 8 11 12 15) (12 12 100) simpleGrading (1 1 1)
|
||||
hex (8 9 10 11 16 17 18 19) (8 12 23) simpleGrading (0.35 1 1)
|
||||
hex (11 10 13 12 19 18 21 20) (8 12 23) simpleGrading (0.35 1 1)
|
||||
hex (12 13 14 15 20 21 22 23) (8 12 23) simpleGrading (0.35 1 1)
|
||||
hex (15 14 9 8 23 22 17 16) (8 12 23) simpleGrading (0.35 1 1)
|
||||
hex (8 11 12 15 16 19 20 23) (12 12 23) simpleGrading (1 1 1)
|
||||
hex (16 17 18 19 24 25 26 27) (8 12 100) simpleGrading (0.35 1 1)
|
||||
hex (19 18 21 20 27 26 29 28) (8 12 100) simpleGrading (0.35 1 1)
|
||||
hex (20 21 22 23 28 29 30 31) (8 12 100) simpleGrading (0.35 1 1)
|
||||
hex (23 22 17 16 31 30 25 24) (8 12 100) simpleGrading (0.35 1 1)
|
||||
hex (16 19 20 23 24 27 28 31) (12 12 100) simpleGrading (1 1 1)
|
||||
);
|
||||
|
||||
edges
|
||||
(
|
||||
arc 1 2 (0 0 20)
|
||||
arc 2 5 (20 0 0)
|
||||
arc 5 6 (0 0 -20)
|
||||
arc 6 1 (-20 0 0)
|
||||
arc 0 3 (0 0 11.23)
|
||||
arc 3 4 (11.23 0 0)
|
||||
arc 4 7 (0 0 -11.23)
|
||||
arc 7 0 (-11.23 0 0)
|
||||
arc 9 10 (0 400 20)
|
||||
arc 10 13 (20 400 0)
|
||||
arc 13 14 (0 400 -20)
|
||||
arc 14 9 (-20 400 0)
|
||||
arc 8 11 (0 400 11.23)
|
||||
arc 11 12 (11.23 400 0)
|
||||
arc 12 15 (0 400 -11.23)
|
||||
arc 15 8 (-11.23 400 0)
|
||||
arc 17 18 (0 440 60)
|
||||
arc 18 21 (20 460 60)
|
||||
arc 21 22 (0 480 60)
|
||||
arc 22 17 (-20 460 60)
|
||||
arc 16 19 (0 448.77 60)
|
||||
arc 19 20 (11.23 460 60)
|
||||
arc 20 23 (0 471.23 60)
|
||||
arc 23 16 (-11.23 460 60)
|
||||
arc 25 26 (0 440 460)
|
||||
arc 26 29 (20 460 460)
|
||||
arc 29 30 (0 480 460)
|
||||
arc 30 25 (-20 460 460)
|
||||
arc 24 27 (0 448.77 460)
|
||||
arc 27 28 (11.23 460 460)
|
||||
arc 28 31 (0 471.23 460)
|
||||
arc 31 24 (-11.23 460 460)
|
||||
arc 9 17 (-14.14 432.428 27.572)
|
||||
arc 10 18 (14.14 432.428 27.572)
|
||||
arc 13 21 (14.14 452.425 7.572)
|
||||
arc 14 22 (-14.14 452.425 7.572)
|
||||
arc 8 16 (-9.9 435.426 24.574)
|
||||
arc 11 19 (9.9 435.426 24.574)
|
||||
arc 12 20 (9.9 449.427 10.573)
|
||||
arc 15 23 (-9.9 449.427 10.573)
|
||||
);
|
||||
|
||||
faces
|
||||
(
|
||||
project (9 10 18 17) torus
|
||||
project (10 13 21 18) torus
|
||||
project (13 14 22 21) torus
|
||||
project (14 9 17 22) torus
|
||||
);
|
||||
|
||||
boundary
|
||||
(
|
||||
inlet
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
(0 1 2 3)
|
||||
(3 2 5 4)
|
||||
(4 5 6 7)
|
||||
(7 6 1 0)
|
||||
(0 3 4 7)
|
||||
);
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
(24 25 26 27)
|
||||
(27 26 29 28)
|
||||
(28 29 30 31)
|
||||
(31 30 25 24)
|
||||
(24 27 28 31)
|
||||
);
|
||||
}
|
||||
walls
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
(1 9 10 2)
|
||||
(2 10 13 5)
|
||||
(5 13 14 6)
|
||||
(6 14 9 1)
|
||||
(9 17 18 10)
|
||||
(10 18 21 13)
|
||||
(13 21 22 14)
|
||||
(14 22 17 9)
|
||||
(17 25 26 18)
|
||||
(18 26 29 21)
|
||||
(21 29 30 22)
|
||||
(22 30 25 17)
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
mergePatchPairs
|
||||
();
|
||||
104
tutorials/multiphaseEuler/pipeBend/system/controlDict
Normal file
104
tutorials/multiphaseEuler/pipeBend/system/controlDict
Normal file
@ -0,0 +1,104 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object controlDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
application foamRun;
|
||||
|
||||
solver multiphaseEuler;
|
||||
|
||||
startFrom latestTime;
|
||||
|
||||
startTime 0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 2;
|
||||
|
||||
deltaT 0.003;
|
||||
|
||||
writeControl adjustableRunTime;
|
||||
|
||||
writeInterval 0.1;
|
||||
|
||||
purgeWrite 0;
|
||||
|
||||
writeFormat ascii;
|
||||
|
||||
writePrecision 6;
|
||||
|
||||
writeCompression off;
|
||||
|
||||
timeFormat general;
|
||||
|
||||
timePrecision 6;
|
||||
|
||||
runTimeModifiable yes;
|
||||
|
||||
adjustTimeStep yes;
|
||||
|
||||
maxCo 1;
|
||||
|
||||
maxDeltaT 1;
|
||||
|
||||
functions
|
||||
{
|
||||
#includeFunc writeObjects(d.particles)
|
||||
|
||||
#includeFunc populationBalanceSizeDistribution
|
||||
(
|
||||
name=probabilityDensity.afterBend_1d,
|
||||
populationBalance=agglomerates,
|
||||
select=cellZone,
|
||||
cellZone=afterBend_1d,
|
||||
functionType=volumeDensity,
|
||||
coordinateType=diameter,
|
||||
normalise=yes
|
||||
)
|
||||
|
||||
#includeFunc populationBalanceSizeDistribution
|
||||
(
|
||||
name=probabilityDensity.afterBend_5d,
|
||||
populationBalance=agglomerates,
|
||||
select=cellZone,
|
||||
cellZone=afterBend_5d,
|
||||
functionType=volumeDensity,
|
||||
coordinateType=diameter,
|
||||
normalise=yes
|
||||
)
|
||||
|
||||
#includeFunc populationBalanceSizeDistribution
|
||||
(
|
||||
name=probabilityDensity.afterBend_9d,
|
||||
populationBalance=agglomerates,
|
||||
select=cellZone,
|
||||
cellZone=afterBend_9d,
|
||||
functionType=volumeDensity,
|
||||
coordinateType=diameter,
|
||||
normalise=yes
|
||||
)
|
||||
|
||||
#includeFunc populationBalanceSizeDistribution
|
||||
(
|
||||
name=probabilityDensity.beforeBend_1d,
|
||||
populationBalance=agglomerates,
|
||||
select=cellZone,
|
||||
cellZone=beforeBend_1d,
|
||||
functionType=volumeDensity,
|
||||
coordinateType=diameter,
|
||||
normalise=yes
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
20
tutorials/multiphaseEuler/pipeBend/system/decomposeParDict
Normal file
20
tutorials/multiphaseEuler/pipeBend/system/decomposeParDict
Normal file
@ -0,0 +1,20 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object decomposeParDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
numberOfSubdomains 6;
|
||||
|
||||
method scotch;
|
||||
|
||||
// ************************************************************************* //
|
||||
70
tutorials/multiphaseEuler/pipeBend/system/fvSchemes
Normal file
70
tutorials/multiphaseEuler/pipeBend/system/fvSchemes
Normal file
@ -0,0 +1,70 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object fvSchemes;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
ddtSchemes
|
||||
{
|
||||
default Euler;
|
||||
}
|
||||
|
||||
gradSchemes
|
||||
{
|
||||
default Gauss linear;
|
||||
}
|
||||
|
||||
divSchemes
|
||||
{
|
||||
default none;
|
||||
|
||||
div(phi,alpha) Gauss vanLeer;
|
||||
div(phir,alpha) Gauss vanLeer;
|
||||
|
||||
div(phi,U) Gauss limitedLinearV 1;
|
||||
div(alphaRhoPhi,U) Gauss limitedLinearV 1;
|
||||
|
||||
"div\(alphaPhi,f.*\)" Gauss limitedLinear 1;
|
||||
|
||||
div(alphaPhi,p) Gauss limitedLinear 1;
|
||||
|
||||
"div\(alphaRhoPhi,(h|e|k|epsilon)\)" Gauss limitedLinear 1;
|
||||
div(alphaRhoPhi,K) Gauss limitedLinear 1;
|
||||
|
||||
div(alphaRhoPhi.water,(p|rho.water)) Gauss limitedLinear 1;
|
||||
|
||||
div((((alpha.water*rho.water)*nuEff.water)*dev2(T(grad(U.water))))) Gauss linear;
|
||||
|
||||
div((((rho.particles*nut.particles)*dev2(T(grad(U.particles))))+(((rho.particles*lambda.particles)*div(phi.particles))*I))) Gauss linear;
|
||||
}
|
||||
|
||||
laplacianSchemes
|
||||
{
|
||||
default Gauss linear uncorrected;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
default linear;
|
||||
}
|
||||
|
||||
snGradSchemes
|
||||
{
|
||||
default uncorrected;
|
||||
}
|
||||
|
||||
wallDist
|
||||
{
|
||||
method meshWave;
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
99
tutorials/multiphaseEuler/pipeBend/system/fvSolution
Normal file
99
tutorials/multiphaseEuler/pipeBend/system/fvSolution
Normal file
@ -0,0 +1,99 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object fvSolution;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
solvers
|
||||
{
|
||||
"alpha.*"
|
||||
{
|
||||
nAlphaCorr 1;
|
||||
nAlphaSubCycles 3;
|
||||
implicitPhasePressure yes;
|
||||
solver PBiCGStab;
|
||||
preconditioner DIC;
|
||||
tolerance 1e-9;
|
||||
relTol 0;
|
||||
minIter 1;
|
||||
}
|
||||
|
||||
p_rgh
|
||||
{
|
||||
solver GAMG;
|
||||
smoother DIC;
|
||||
tolerance 1e-8;
|
||||
relTol 0.01;
|
||||
}
|
||||
|
||||
p_rghFinal
|
||||
{
|
||||
$p_rgh;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
"(h|e).*"
|
||||
{
|
||||
solver smoothSolver;
|
||||
smoother symGaussSeidel;
|
||||
tolerance 1e-6;
|
||||
relTol 0;
|
||||
minIter 1;
|
||||
maxIter 10;
|
||||
}
|
||||
|
||||
"(k|epsilon).*"
|
||||
{
|
||||
solver PBiCGStab;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-5;
|
||||
relTol 0;
|
||||
minIter 1;
|
||||
}
|
||||
|
||||
"f.*"
|
||||
{
|
||||
solver PBiCGStab;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-6;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
agglomerates
|
||||
{
|
||||
nCorr 1;
|
||||
tolerance 1e-4;
|
||||
scale true;
|
||||
solveOnFinalIterOnly true;
|
||||
sourceUpdateInterval 1;
|
||||
}
|
||||
}
|
||||
|
||||
PIMPLE
|
||||
{
|
||||
nOuterCorrectors 3;
|
||||
nCorrectors 2;
|
||||
nNonOrthogonalCorrectors 0;
|
||||
alphaSpreadMin 5e-4;
|
||||
alphaSpreadMax 0.9995;
|
||||
|
||||
faceMomentum no;
|
||||
VmDdtCorrection yes;
|
||||
dragCorrection yes;
|
||||
partialElimination no;
|
||||
}
|
||||
|
||||
relaxationFactors
|
||||
{}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
77
tutorials/multiphaseEuler/pipeBend/system/topoSetDict
Normal file
77
tutorials/multiphaseEuler/pipeBend/system/topoSetDict
Normal file
@ -0,0 +1,77 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object topoSetDict;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
actions
|
||||
(
|
||||
{
|
||||
name beforeBend_1d;
|
||||
type cellSet;
|
||||
action new;
|
||||
source boxToCell;
|
||||
box (-0.03 0.35 -0.03) (0.03 0.37 0.03);
|
||||
}
|
||||
{
|
||||
name afterBend_1d;
|
||||
type cellSet;
|
||||
action new;
|
||||
source boxToCell;
|
||||
box (-0.03 0.43 0.09) (0.03 0.48 0.11);
|
||||
}
|
||||
{
|
||||
name afterBend_5d;
|
||||
type cellSet;
|
||||
action new;
|
||||
source boxToCell;
|
||||
box (-0.03 0.43 0.25) (0.03 0.48 0.27);
|
||||
}
|
||||
{
|
||||
name afterBend_9d;
|
||||
type cellSet;
|
||||
action new;
|
||||
source boxToCell;
|
||||
box (-0.03 0.43 0.41) (0.03 0.48 0.43);
|
||||
}
|
||||
{
|
||||
name beforeBend_1d;
|
||||
type cellZoneSet;
|
||||
action new;
|
||||
source setToCellZone;
|
||||
set beforeBend_1d;
|
||||
}
|
||||
{
|
||||
name afterBend_1d;
|
||||
type cellZoneSet;
|
||||
action new;
|
||||
source setToCellZone;
|
||||
set afterBend_1d;
|
||||
}
|
||||
{
|
||||
name afterBend_5d;
|
||||
type cellZoneSet;
|
||||
action new;
|
||||
source setToCellZone;
|
||||
set afterBend_5d;
|
||||
}
|
||||
{
|
||||
name afterBend_9d;
|
||||
type cellZoneSet;
|
||||
action new;
|
||||
source setToCellZone;
|
||||
set afterBend_9d;
|
||||
}
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
46
tutorials/multiphaseEuler/pipeBend/validation/createGraphs
Executable file
46
tutorials/multiphaseEuler/pipeBend/validation/createGraphs
Executable file
@ -0,0 +1,46 @@
|
||||
#!/bin/sh
|
||||
|
||||
if ! which gnuplot > /dev/null 2>&1
|
||||
then
|
||||
echo 'gnuplot not found - skipping graph creation' >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
time=$(foamListTimes -case .. -latestTime)
|
||||
beforeBend=../postProcessing/probabilityDensity.beforeBend_1d/$time/probabilityDensity.beforeBend_1d.xy
|
||||
afterBend1D=../postProcessing/probabilityDensity.afterBend_1d/$time/probabilityDensity.afterBend_1d.xy
|
||||
afterBend3D=../postProcessing/probabilityDensity.afterBend_3d/$time/probabilityDensity.afterBend_3d.xy
|
||||
afterBend5D=../postProcessing/probabilityDensity.afterBend_5d/$time/probabilityDensity.afterBend_5d.xy
|
||||
afterBend7D=../postProcessing/probabilityDensity.afterBend_7d/$time/probabilityDensity.afterBend_7d.xy
|
||||
afterBend9D=../postProcessing/probabilityDensity.afterBend_9d/$time/probabilityDensity.afterBend_9d.xy
|
||||
layerAverage=../postProcessing/graphCrossSection/$time/layerAverage.xy
|
||||
|
||||
gnuplot<<EOF
|
||||
set terminal postscript eps color enhanced font "Helvetica,20"
|
||||
|
||||
set output '../volumeDensity.eps'
|
||||
set logscale x
|
||||
set xlabel 'd ({/Symbol m}m)'
|
||||
set ylabel '({/Symbol a}/{/Symbol a}_{tot})/{/Symbol D}d (mm^{-1})'
|
||||
set key left top
|
||||
set grid
|
||||
|
||||
plot "$beforeBend" u (\$1*1e6):(\$2) w histeps lw 3 lc rgb 'web-green' t 'Before bend',\
|
||||
"$afterBend1D" u (\$1*1e6):(\$2) w histeps lw 3 lc rgb 'red' t 'After bend: 1D',\
|
||||
"$afterBend5D" u (\$1*1e6):(\$2) w histeps lw 3 lc rgb 'orange' t 'After bend: 5D',\
|
||||
"$afterBend9D" u (\$1*1e6):(\$2) w histeps lw 3 lc rgb 'blue' t 'After bend: 9D'
|
||||
EOF
|
||||
|
||||
gnuplot<<EOF
|
||||
set terminal postscript eps color enhanced font "Helvetica,20"
|
||||
|
||||
set output '../crossSectionAverageDiameter.eps'
|
||||
set xlabel 'Distance along pipe (m)'
|
||||
set ylabel 'Cross-section average particle diameter ({/Symbol m}m)'
|
||||
set key left top
|
||||
set grid
|
||||
|
||||
plot "$layerAverage" u (\$1):(\$2*1e6) w histeps lw 3 lc rgb 'web-green' t ''
|
||||
EOF
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
Reference in New Issue
Block a user