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
184 lines
4.4 KiB
C++
184 lines
4.4 KiB
C++
/*--------------------------------*- 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
|
|
();
|