From 2f4d864c85843a7dbf746ec90facf412eff99893 Mon Sep 17 00:00:00 2001 From: sergio <s.ferraris@opencfd.co.uk> Date: Thu, 18 Mar 2021 11:32:12 -0700 Subject: [PATCH] ENH: Adding dynamic mesh functionality to icoReactingMultiphaseInterFoam --- .../icoReactingMultiphaseInterFoam.C | 43 +- .../icoReactingMultiphaseInterFoam/pEqn.H | 39 +- .../mixerVesselAMI2D/0.orig/T | 51 + .../mixerVesselAMI2D/0.orig/U | 58 + .../mixerVesselAMI2D/0.orig/alpha.gas | 59 + .../mixerVesselAMI2D/0.orig/alpha.liquid | 59 + .../mixerVesselAMI2D/0.orig/alpha.mercury | 58 + .../mixerVesselAMI2D/0.orig/alpha.oil | 59 + .../mixerVesselAMI2D/0.orig/alphat | 55 + .../mixerVesselAMI2D/0.orig/epsilon | 60 + .../mixerVesselAMI2D/0.orig/k | 60 + .../mixerVesselAMI2D/0.orig/p_rgh | 58 + .../mixerVesselAMI2D/Allclean | 8 + .../mixerVesselAMI2D/Allrun | 15 + .../mixerVesselAMI2D/constant/dynamicMeshDict | 30 + .../mixerVesselAMI2D/constant/g | 22 + .../mixerVesselAMI2D/constant/phaseProperties | 99 ++ .../constant/thermophysicalProperties.gas | 52 + .../constant/thermophysicalProperties.liquid | 53 + .../constant/thermophysicalProperties.mercury | 74 + .../constant/thermophysicalProperties.oil | 56 + .../constant/triSurface/projectionSurface.stl | 1346 +++++++++++++++++ .../constant/turbulenceProperties | 21 + .../mixerVesselAMI2D/makeMesh | 11 + .../mixerVesselAMI2D/system/blockMeshDict.m4 | 924 +++++++++++ .../mixerVesselAMI2D/system/controlDict | 56 + .../mixerVesselAMI2D/system/decomposeParDict | 30 + .../mixerVesselAMI2D/system/fvSchemes | 76 + .../mixerVesselAMI2D/system/fvSolution | 115 ++ .../mixerVesselAMI2D/system/setFieldsDict | 70 + .../mixerVesselAMI2D/system/topoSetDict | 32 + 31 files changed, 3734 insertions(+), 15 deletions(-) create mode 100644 tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/T create mode 100644 tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/U create mode 100644 tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/alpha.gas create mode 100644 tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/alpha.liquid create mode 100644 tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/alpha.mercury create mode 100644 tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/alpha.oil create mode 100644 tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/alphat create mode 100644 tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/epsilon create mode 100644 tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/k create mode 100644 tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/p_rgh create mode 100755 tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/Allclean create mode 100755 tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/Allrun create mode 100644 tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/dynamicMeshDict create mode 100644 tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/g create mode 100644 tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/phaseProperties create mode 100644 tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/thermophysicalProperties.gas create mode 100644 tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/thermophysicalProperties.liquid create mode 100644 tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/thermophysicalProperties.mercury create mode 100644 tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/thermophysicalProperties.oil create mode 100644 tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/triSurface/projectionSurface.stl create mode 100644 tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/turbulenceProperties create mode 100755 tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/makeMesh create mode 100644 tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/system/blockMeshDict.m4 create mode 100644 tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/system/controlDict create mode 100644 tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/system/decomposeParDict create mode 100644 tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/system/fvSchemes create mode 100644 tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/system/fvSolution create mode 100644 tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/system/setFieldsDict create mode 100644 tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/system/topoSetDict diff --git a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/icoReactingMultiphaseInterFoam.C b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/icoReactingMultiphaseInterFoam.C index 9bbe933d8c0..b58ceb5c945 100644 --- a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/icoReactingMultiphaseInterFoam.C +++ b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/icoReactingMultiphaseInterFoam.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2017-2020 OpenCFD Ltd. + Copyright (C) 2017-2021 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -42,16 +42,14 @@ Description \*---------------------------------------------------------------------------*/ #include "fvCFD.H" +#include "dynamicFvMesh.H" #include "subCycle.H" #include "multiphaseSystem.H" #include "turbulentFluidThermoModel.H" #include "pimpleControl.H" #include "fvOptions.H" -#include "fixedFluxPressureFvPatchScalarField.H" #include "radiationModel.H" -#include "HashPtrTable.H" -#include "fvcDDt.H" -#include "zeroField.H" +#include "CorrectPhi.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -70,14 +68,18 @@ int main(int argc, char *argv[]) #include "setRootCaseLists.H" #include "createTime.H" - #include "createMesh.H" + #include "createDynamicFvMesh.H" - pimpleControl pimple(mesh); + #include "initContinuityErrs.H" + #include "createDyMControls.H" #include "createFields.H" #include "createFieldRefs.H" + + #include "initCorrectPhi.H" + #include "createUfIfPresent.H" + #include "createFvOptions.H" - #include "createTimeControls.H" #include "CourantNo.H" #include "setInitialDeltaT.H" @@ -89,7 +91,8 @@ int main(int argc, char *argv[]) while (runTime.run()) { - #include "readTimeControls.H" + #include "readDyMControls.H" + #include "CourantNo.H" #include "alphaCourantNo.H" #include "setDeltaT.H" @@ -105,6 +108,28 @@ int main(int argc, char *argv[]) // --- Pressure-velocity PIMPLE corrector loop while (pimple.loop()) { + if (pimple.firstIter() || moveMeshOuterCorrectors) + { + mesh.update(); + + if (mesh.changing()) + { + gh = (g & mesh.C()) - ghRef; + ghf = (g & mesh.Cf()) - ghRef; + + if (correctPhi) + { + // Calculate absolute flux + // from the mapped surface velocity + phi = mesh.Sf() & Uf(); + + #include "correctPhi.H" + + // Make the flux relative to the mesh motion + fvc::makeRelative(phi, U); + } + } + } #include "UEqn.H" #include "YEqns.H" #include "TEqn.H" diff --git a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/pEqn.H b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/pEqn.H index ad860631ce8..bf2c86525b0 100644 --- a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/pEqn.H +++ b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/pEqn.H @@ -1,17 +1,31 @@ { - volScalarField rAU("rAU", 1.0/UEqn.A()); - surfaceScalarField rAUf("rAUf", fvc::interpolate(rAU)); + if (correctPhi) + { + rAU.ref() = 1.0/UEqn.A(); + } + else + { + rAU = 1.0/UEqn.A(); + } + + surfaceScalarField rAUf("rAUf", fvc::interpolate(rAU())); volVectorField HbyA("HbyA", U); - HbyA = rAU*UEqn.H(); + HbyA = rAU()*UEqn.H(); surfaceScalarField phiHbyA ( "phiHbyA", (fvc::interpolate(HbyA) & mesh.Sf()) - + fvc::interpolate(rho*rAU)*fvc::ddtCorr(U, phi) + + fvc::interpolate(rho*rAU())*fvc::ddtCorr(U, phi) ); - adjustPhi(phiHbyA, U, p_rgh); + + if (p_rgh.needReference()) + { + fvc::makeRelative(phiHbyA, U); + adjustPhi(phiHbyA, U, p_rgh); + fvc::makeAbsolute(phiHbyA, U); + } surfaceScalarField phig ( @@ -50,7 +64,7 @@ p_rgh.relax(); - U = HbyA + rAU*fvc::reconstruct((phig + p_rghEqn.flux())/rAUf); + U = HbyA + rAU()*fvc::reconstruct((phig + p_rghEqn.flux())/rAUf); U.correctBoundaryConditions(); fvOptions.correct(U); @@ -58,6 +72,14 @@ } } + #include "continuityErrs.H" + + // Correct Uf if the mesh is moving + fvc::correctUf(Uf, U, phi); + + // Make the fluxes relative to the mesh motion + fvc::makeRelative(phi, U); + p == p_rgh + rho*gh; if (p_rgh.needReference()) @@ -70,4 +92,9 @@ ); p_rgh = p - rho*gh; } + + if (!correctPhi) + { + rAU.clear(); + } } diff --git a/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/T b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/T new file mode 100644 index 00000000000..a6acc2b6909 --- /dev/null +++ b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/T @@ -0,0 +1,51 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2012 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object T; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 1 0 0 0]; + +internalField uniform 360; + +boundaryField +{ + "(rotor|stator)" + { + type zeroGradient; + } + + front + { + type empty; + } + + back + { + type empty; + } + + AMI1 + { + type cyclicAMI; + value $internalField; + } + + AMI2 + { + type cyclicAMI; + value $internalField; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/U b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/U new file mode 100644 index 00000000000..93a426d89ab --- /dev/null +++ b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/U @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2012 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + rotor + { + type movingWallVelocity; + value uniform (0 0 0); + } + + stator + { + type movingWallVelocity; + value uniform (0 0 0); + } + + front + { + type empty; + } + + back + { + type empty; + } + + AMI1 + { + type cyclicAMI; + value $internalField; + } + + AMI2 + { + type cyclicAMI; + value $internalField; + } +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/alpha.gas b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/alpha.gas new file mode 100644 index 00000000000..b9b045078de --- /dev/null +++ b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/alpha.gas @@ -0,0 +1,59 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2012 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object alpha.gas; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + "(rotor|stator)" + { + type zeroGradient; + } + + top + { + type inletOutlet; + inletValue uniform 0; + value uniform 0; + } + + front + { + type empty; + } + + back + { + type empty; + } + + AMI1 + { + type cyclicAMI; + value $internalField; + } + + AMI2 + { + type cyclicAMI; + value $internalField; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/alpha.liquid b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/alpha.liquid new file mode 100644 index 00000000000..2faf3623ac8 --- /dev/null +++ b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/alpha.liquid @@ -0,0 +1,59 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2012 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object alpha.liquid; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + "(rotor|stator)" + { + type zeroGradient; + } + + top + { + type inletOutlet; + inletValue uniform 0; + value uniform 0; + } + + front + { + type empty; + } + + back + { + type empty; + } + + AMI1 + { + type cyclicAMI; + value $internalField; + } + + AMI2 + { + type cyclicAMI; + value $internalField; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/alpha.mercury b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/alpha.mercury new file mode 100644 index 00000000000..2a6cb8ccb67 --- /dev/null +++ b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/alpha.mercury @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2012 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object alpha.mercury; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + "(rotor|stator)" + { + type zeroGradient; + } + + top + { + type inletOutlet; + inletValue uniform 0; + value uniform 0; + } + + front + { + type empty; + } + + back + { + type empty; + } + + AMI1 + { + type cyclicAMI; + value $internalField; + } + + AMI2 + { + type cyclicAMI; + value $internalField; + } +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/alpha.oil b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/alpha.oil new file mode 100644 index 00000000000..d7450e23c69 --- /dev/null +++ b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/alpha.oil @@ -0,0 +1,59 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2012 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object alpha.oil; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + "(rotor|stator)" + { + type zeroGradient; + } + + top + { + type inletOutlet; + inletValue uniform 0; + value uniform 0; + } + + front + { + type empty; + } + + back + { + type empty; + } + + AMI1 + { + type cyclicAMI; + value $internalField; + } + + AMI2 + { + type cyclicAMI; + value $internalField; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/alphat b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/alphat new file mode 100644 index 00000000000..d5edfb7aacf --- /dev/null +++ b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/alphat @@ -0,0 +1,55 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2012 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object alphat; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + "(rotor|stator)" + { + type compressible::alphatWallFunction; + Prt 0.85; + value $internalField; + } + + + front + { + type empty; + } + + back + { + type empty; + } + + AMI1 + { + type cyclicAMI; + value $internalField; + } + + AMI2 + { + type cyclicAMI; + value $internalField; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/epsilon b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/epsilon new file mode 100644 index 00000000000..87b4d0ee638 --- /dev/null +++ b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/epsilon @@ -0,0 +1,60 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2012 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object epsilon; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -3 0 0 0 0]; + +internalField uniform 20; + +boundaryField +{ + rotor + { + type epsilonWallFunction; + value $internalField; + } + + stator + { + type epsilonWallFunction; + value $internalField; + } + + front + { + type empty; + } + + back + { + type empty; + } + + AMI1 + { + type cyclicAMI; + value $internalField; + } + + AMI2 + { + type cyclicAMI; + value $internalField; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/k b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/k new file mode 100644 index 00000000000..88cfaf3aaf1 --- /dev/null +++ b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/k @@ -0,0 +1,60 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2012 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object k; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 1; + +boundaryField +{ + rotor + { + type kqRWallFunction; + value uniform 0; + } + + stator + { + type kqRWallFunction; + value uniform 0; + } + + front + { + type empty; + } + + back + { + type empty; + } + + AMI1 + { + type cyclicAMI; + value $internalField; + } + + AMI2 + { + type cyclicAMI; + value $internalField; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/p_rgh b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/p_rgh new file mode 100644 index 00000000000..4e77489d74b --- /dev/null +++ b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/0.orig/p_rgh @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2012 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p_rgh; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [ 1 -1 -2 0 0 0 0 ]; + +internalField uniform 1e5; + +boundaryField +{ + rotor + { + type fixedFluxPressure; + value $internalField; + } + + stator + { + type fixedFluxPressure; + value $internalField; + } + + front + { + type empty; + } + + back + { + type empty; + } + + AMI1 + { + type cyclicAMI; + value $internalField; + } + + AMI2 + { + type cyclicAMI; + value $internalField; + } +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/Allclean b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/Allclean new file mode 100755 index 00000000000..fb1f3847301 --- /dev/null +++ b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/Allclean @@ -0,0 +1,8 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase0 + +#------------------------------------------------------------------------------ diff --git a/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/Allrun b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/Allrun new file mode 100755 index 00000000000..10a82743b44 --- /dev/null +++ b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/Allrun @@ -0,0 +1,15 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +./makeMesh + +restore0Dir +runApplication setFields +#runApplication $(getApplication) +runApplication decomposePar +runParallel $(getApplication) +runApplication reconstructPar + +#------------------------------------------------------------------------------ diff --git a/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/dynamicMeshDict b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/dynamicMeshDict new file mode 100644 index 00000000000..d596fb30ce8 --- /dev/null +++ b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/dynamicMeshDict @@ -0,0 +1,30 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2012 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object dynamicMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dynamicFvMesh dynamicMotionSolverFvMesh; + +motionSolver solidBody; + +cellZone rotor; + +solidBodyMotionFunction rotatingMotion; + +origin (0 0 0); +axis (0 0 1); +omega 1.2832; // rad/s + +// ************************************************************************* // diff --git a/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/g b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/g new file mode 100644 index 00000000000..f1bc4074439 --- /dev/null +++ b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/g @@ -0,0 +1,22 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2012 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class uniformDimensionedVectorField; + location "constant"; + object g; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -2 0 0 0 0]; +value (0 -9.81 0); + + +// ************************************************************************* // diff --git a/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/phaseProperties b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/phaseProperties new file mode 100644 index 00000000000..b9bd16a4f1a --- /dev/null +++ b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/phaseProperties @@ -0,0 +1,99 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2012 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object phaseProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +type massTransferMultiphaseSystem; + +phases (gas mercury oil liquid); + + +oil +{ + type pureMovingPhaseModel; +} + +liquid +{ + type pureMovingPhaseModel; +} + +gas +{ + type pureMovingPhaseModel; +} + +mercury +{ + type pureMovingPhaseModel; +} + +surfaceTension +( + (gas and liquid) + { + type constant; + sigma 0.005; + } + + (gas and mercury) + { + type constant; + sigma 0.005; + } + + (mercury and gas) + { + type constant; + sigma 0.005; + } + + (mercury and oil) + { + type constant; + sigma 0.005; + } + + (mercury and liquid) + { + type constant; + sigma 0.005; + } + + (gas and oil) + { + type constant; + sigma 0.005; + } + (oil and liquid) + { + type constant; + sigma 0.005; + } +); + +massTransferModel +( + (liquid to gas) + { + type kineticGasEvaporation; + C 0.1; + isoAlpha 0.2; + Tactivate 370; + includeVolChange false; + } +); + + +// ************************************************************************* // diff --git a/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/thermophysicalProperties.gas b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/thermophysicalProperties.gas new file mode 100644 index 00000000000..ae77a4cd404 --- /dev/null +++ b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/thermophysicalProperties.gas @@ -0,0 +1,52 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2012 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object thermophysicalProperties.gas; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +thermoType +{ + type heRhoThermo; + mixture pureMixture; + transport const; + thermo hConst; + equationOfState incompressiblePerfectGas; + specie specie; + energy sensibleEnthalpy; +} + +mixture +{ + specie + { + nMoles 1; + molWeight 28.9; + } + equationOfState + { + pRef 1e5; + } + thermodynamics + { + Hf 0; + Cp 900; + } + transport + { + mu 1.8e-05; + Pr 0.7; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/thermophysicalProperties.liquid b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/thermophysicalProperties.liquid new file mode 100644 index 00000000000..86d0d8df18e --- /dev/null +++ b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/thermophysicalProperties.liquid @@ -0,0 +1,53 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2012 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object thermophysicalProperties.liquid; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +thermoType +{ + type heRhoThermo; + mixture pureMixture; + transport const; + thermo hConst; + equationOfState rhoConst; + specie specie; + energy sensibleEnthalpy; +} + + +mixture +{ + specie + { + nMoles 1; + molWeight 18.9; + } + equationOfState + { + rho 1000; + } + thermodynamics + { + Cp 4181; + Hf 2.45e6; //[J/Kg] + } + transport + { + Pr 6.62; + mu 959e-6; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/thermophysicalProperties.mercury b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/thermophysicalProperties.mercury new file mode 100644 index 00000000000..3f5fb3d62f2 --- /dev/null +++ b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/thermophysicalProperties.mercury @@ -0,0 +1,74 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2012 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object thermophysicalProperties.mercury; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +thermoType +{ + type heRhoThermo; + mixture pureMixture; + transport tabulated; + thermo hTabulated; + equationOfState icoTabulated; + specie specie; + energy sensibleEnthalpy; +} + +mixture +{ + specie + { + nMoles 1; + molWeight 200.9; + } + equationOfState + { + rho + ( + (200 13525) + (350 13529) + (400 13520) + ); + } + thermodynamics + { + Hf 0; + Sf 0; + Cp + ( + (200 139) + (350 140) + (400 145) + ); + } + + transport + { + mu + ( + (200 0.0015) + (350 0.002) + (400 0.0025) + ); + + kappa + ( + (200 2.56e-2) + (350 3.33e-2) + (400 4.72e-2) + ); + } +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/thermophysicalProperties.oil b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/thermophysicalProperties.oil new file mode 100644 index 00000000000..af2d3f6b497 --- /dev/null +++ b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/thermophysicalProperties.oil @@ -0,0 +1,56 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2012 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object thermophysicalProperties.oil; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +thermoType +{ + type heRhoThermo; + mixture pureMixture; + transport const; + thermo hConst; + equationOfState icoTabulated; + specie specie; + energy sensibleEnthalpy; +} + +mixture +{ + specie + { + nMoles 1; + molWeight 300.9; + } + equationOfState + { + rho + ( + (200 1010) + (350 1000) + (400 980) + ); + } + thermodynamics + { + Cp 1670; + Hf 0.0; + } + transport + { + mu 0.079; + Pr 0.8; + } +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/triSurface/projectionSurface.stl b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/triSurface/projectionSurface.stl new file mode 100644 index 00000000000..94883275879 --- /dev/null +++ b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/triSurface/projectionSurface.stl @@ -0,0 +1,1346 @@ +solid AMI1 + facet normal 0.999464 -0.0327281 0 + outer loop + vertex 0.06 0 0 + vertex 0.06 0 0.01 + vertex 0.0598715 -0.00392419 0.01 + endloop + endfacet + facet normal 0.999464 -0.0327281 0 + outer loop + vertex 0.0598715 -0.00392419 0.01 + vertex 0.0598715 -0.00392419 0 + vertex 0.06 0 0 + endloop + endfacet + facet normal 0.995186 -0.0980062 0 + outer loop + vertex 0.0598715 -0.00392419 0 + vertex 0.0598715 -0.00392419 0.01 + vertex 0.0594867 -0.00783157 0.01 + endloop + endfacet + facet normal 0.995186 -0.0980062 0 + outer loop + vertex 0.0594867 -0.00783157 0.01 + vertex 0.0594867 -0.00783157 0 + vertex 0.0598715 -0.00392419 0 + endloop + endfacet + facet normal 0.986642 -0.162902 0 + outer loop + vertex 0.0594867 -0.00783157 0 + vertex 0.0594867 -0.00783157 0.01 + vertex 0.0588471 -0.0117054 0.01 + endloop + endfacet + facet normal 0.986642 -0.162902 0 + outer loop + vertex 0.0588471 -0.0117054 0.01 + vertex 0.0588471 -0.0117054 0 + vertex 0.0594867 -0.00783157 0 + endloop + endfacet + facet normal 0.973875 -0.227085 0 + outer loop + vertex 0.0588471 -0.0117054 0 + vertex 0.0588471 -0.0117054 0.01 + vertex 0.0579555 -0.0155291 0.01 + endloop + endfacet + facet normal 0.973875 -0.227085 0 + outer loop + vertex 0.0579555 -0.0155291 0.01 + vertex 0.0579555 -0.0155291 0 + vertex 0.0588471 -0.0117054 0 + endloop + endfacet + facet normal 0.956945 -0.29027 0 + outer loop + vertex 0.0579555 -0.0155291 0 + vertex 0.0579555 -0.0155291 0.01 + vertex 0.0568158 -0.0192864 0.01 + endloop + endfacet + facet normal 0.956945 -0.29027 0 + outer loop + vertex 0.0568158 -0.0192864 0.01 + vertex 0.0568158 -0.0192864 0 + vertex 0.0579555 -0.0155291 0 + endloop + endfacet + facet normal 0.935908 -0.352245 0 + outer loop + vertex 0.0568158 -0.0192864 0 + vertex 0.0568158 -0.0192864 0.01 + vertex 0.0554328 -0.022961 0.01 + endloop + endfacet + facet normal 0.935908 -0.352245 0 + outer loop + vertex 0.0554328 -0.022961 0.01 + vertex 0.0554328 -0.022961 0 + vertex 0.0568158 -0.0192864 0 + endloop + endfacet + facet normal 0.910864 -0.412707 0 + outer loop + vertex 0.0554328 -0.022961 0 + vertex 0.0554328 -0.022961 0.01 + vertex 0.0538124 -0.0265373 0.01 + endloop + endfacet + facet normal 0.910864 -0.412707 0 + outer loop + vertex 0.0538124 -0.0265373 0.01 + vertex 0.0538124 -0.0265373 0 + vertex 0.0554328 -0.022961 0 + endloop + endfacet + facet normal 0.881916 -0.471406 0 + outer loop + vertex 0.0538124 -0.0265373 0 + vertex 0.0538124 -0.0265373 0.01 + vertex 0.0519615 -0.03 0.01 + endloop + endfacet + facet normal 0.881916 -0.471406 0 + outer loop + vertex 0.0519615 -0.03 0.01 + vertex 0.0519615 -0.03 0 + vertex 0.0538124 -0.0265373 0 + endloop + endfacet + facet normal 0.849207 -0.528061 0 + outer loop + vertex 0.0519615 -0.03 0 + vertex 0.0519615 -0.03 0.01 + vertex 0.0498882 -0.0333342 0.01 + endloop + endfacet + facet normal 0.849207 -0.528061 0 + outer loop + vertex 0.0498882 -0.0333342 0.01 + vertex 0.0498882 -0.0333342 0 + vertex 0.0519615 -0.03 0 + endloop + endfacet + facet normal 0.812846 -0.582478 0 + outer loop + vertex 0.0498882 -0.0333342 0 + vertex 0.0498882 -0.0333342 0.01 + vertex 0.0476012 -0.0365257 0.01 + endloop + endfacet + facet normal 0.812846 -0.582478 0 + outer loop + vertex 0.0476012 -0.0365257 0.01 + vertex 0.0476012 -0.0365257 0 + vertex 0.0498882 -0.0333342 0 + endloop + endfacet + facet normal 0.773005 -0.634399 0 + outer loop + vertex 0.0476012 -0.0365257 0 + vertex 0.0476012 -0.0365257 0.01 + vertex 0.0451104 -0.0395607 0.01 + endloop + endfacet + facet normal 0.773005 -0.634399 0 + outer loop + vertex 0.0451104 -0.0395607 0.01 + vertex 0.0451104 -0.0395607 0 + vertex 0.0476012 -0.0365257 0 + endloop + endfacet + facet normal 0.729867 -0.683589 0 + outer loop + vertex 0.0451104 -0.0395607 0 + vertex 0.0451104 -0.0395607 0.01 + vertex 0.0424264 -0.0424264 0.01 + endloop + endfacet + facet normal 0.729867 -0.683589 0 + outer loop + vertex 0.0424264 -0.0424264 0.01 + vertex 0.0424264 -0.0424264 0 + vertex 0.0451104 -0.0395607 0 + endloop + endfacet + facet normal 0.683589 -0.729867 0 + outer loop + vertex 0.0424264 -0.0424264 0 + vertex 0.0424264 -0.0424264 0.01 + vertex 0.0395607 -0.0451104 0.01 + endloop + endfacet + facet normal 0.683589 -0.729867 0 + outer loop + vertex 0.0395607 -0.0451104 0.01 + vertex 0.0395607 -0.0451104 0 + vertex 0.0424264 -0.0424264 0 + endloop + endfacet + facet normal 0.634399 -0.773005 0 + outer loop + vertex 0.0395607 -0.0451104 0 + vertex 0.0395607 -0.0451104 0.01 + vertex 0.0365257 -0.0476012 0.01 + endloop + endfacet + facet normal 0.634399 -0.773005 0 + outer loop + vertex 0.0365257 -0.0476012 0.01 + vertex 0.0365257 -0.0476012 0 + vertex 0.0395607 -0.0451104 0 + endloop + endfacet + facet normal 0.582478 -0.812846 0 + outer loop + vertex 0.0365257 -0.0476012 0 + vertex 0.0365257 -0.0476012 0.01 + vertex 0.0333342 -0.0498882 0.01 + endloop + endfacet + facet normal 0.582478 -0.812846 0 + outer loop + vertex 0.0333342 -0.0498882 0.01 + vertex 0.0333342 -0.0498882 0 + vertex 0.0365257 -0.0476012 0 + endloop + endfacet + facet normal 0.528061 -0.849207 0 + outer loop + vertex 0.0333342 -0.0498882 0 + vertex 0.0333342 -0.0498882 0.01 + vertex 0.03 -0.0519615 0.01 + endloop + endfacet + facet normal 0.528061 -0.849207 0 + outer loop + vertex 0.03 -0.0519615 0.01 + vertex 0.03 -0.0519615 0 + vertex 0.0333342 -0.0498882 0 + endloop + endfacet + facet normal 0.471406 -0.881916 0 + outer loop + vertex 0.03 -0.0519615 0 + vertex 0.03 -0.0519615 0.01 + vertex 0.0265373 -0.0538124 0.01 + endloop + endfacet + facet normal 0.471406 -0.881916 0 + outer loop + vertex 0.0265373 -0.0538124 0.01 + vertex 0.0265373 -0.0538124 0 + vertex 0.03 -0.0519615 0 + endloop + endfacet + facet normal 0.412707 -0.910864 0 + outer loop + vertex 0.0265373 -0.0538124 0 + vertex 0.0265373 -0.0538124 0.01 + vertex 0.022961 -0.0554328 0.01 + endloop + endfacet + facet normal 0.412707 -0.910864 0 + outer loop + vertex 0.022961 -0.0554328 0.01 + vertex 0.022961 -0.0554328 0 + vertex 0.0265373 -0.0538124 0 + endloop + endfacet + facet normal 0.352245 -0.935908 0 + outer loop + vertex 0.022961 -0.0554328 0 + vertex 0.022961 -0.0554328 0.01 + vertex 0.0192864 -0.0568158 0.01 + endloop + endfacet + facet normal 0.352245 -0.935908 0 + outer loop + vertex 0.0192864 -0.0568158 0.01 + vertex 0.0192864 -0.0568158 0 + vertex 0.022961 -0.0554328 0 + endloop + endfacet + facet normal 0.29027 -0.956945 0 + outer loop + vertex 0.0192864 -0.0568158 0 + vertex 0.0192864 -0.0568158 0.01 + vertex 0.0155291 -0.0579555 0.01 + endloop + endfacet + facet normal 0.29027 -0.956945 0 + outer loop + vertex 0.0155291 -0.0579555 0.01 + vertex 0.0155291 -0.0579555 0 + vertex 0.0192864 -0.0568158 0 + endloop + endfacet + facet normal 0.227085 -0.973875 0 + outer loop + vertex 0.0155291 -0.0579555 0 + vertex 0.0155291 -0.0579555 0.01 + vertex 0.0117054 -0.0588471 0.01 + endloop + endfacet + facet normal 0.227085 -0.973875 0 + outer loop + vertex 0.0117054 -0.0588471 0.01 + vertex 0.0117054 -0.0588471 0 + vertex 0.0155291 -0.0579555 0 + endloop + endfacet + facet normal 0.162902 -0.986642 0 + outer loop + vertex 0.0117054 -0.0588471 0 + vertex 0.0117054 -0.0588471 0.01 + vertex 0.00783157 -0.0594867 0.01 + endloop + endfacet + facet normal 0.162902 -0.986642 0 + outer loop + vertex 0.00783157 -0.0594867 0.01 + vertex 0.00783157 -0.0594867 0 + vertex 0.0117054 -0.0588471 0 + endloop + endfacet + facet normal 0.0980062 -0.995186 0 + outer loop + vertex 0.00783157 -0.0594867 0 + vertex 0.00783157 -0.0594867 0.01 + vertex 0.00392419 -0.0598715 0.01 + endloop + endfacet + facet normal 0.0980062 -0.995186 0 + outer loop + vertex 0.00392419 -0.0598715 0.01 + vertex 0.00392419 -0.0598715 0 + vertex 0.00783157 -0.0594867 0 + endloop + endfacet + facet normal 0.0327281 -0.999464 0 + outer loop + vertex 0.00392419 -0.0598715 0 + vertex 0.00392419 -0.0598715 0.01 + vertex 1.07694e-10 -0.06 0.01 + endloop + endfacet + facet normal 0.0327281 -0.999464 0 + outer loop + vertex 1.07694e-10 -0.06 0.01 + vertex 1.07694e-10 -0.06 0 + vertex 0.00392419 -0.0598715 0 + endloop + endfacet + facet normal -0.0327281 -0.999464 0 + outer loop + vertex 1.07694e-10 -0.06 0 + vertex 1.07694e-10 -0.06 0.01 + vertex -0.00392419 -0.0598715 0.01 + endloop + endfacet + facet normal -0.0327281 -0.999464 -0 + outer loop + vertex -0.00392419 -0.0598715 0.01 + vertex -0.00392419 -0.0598715 0 + vertex 1.07694e-10 -0.06 0 + endloop + endfacet + facet normal -0.0980062 -0.995186 0 + outer loop + vertex -0.00392419 -0.0598715 0 + vertex -0.00392419 -0.0598715 0.01 + vertex -0.00783157 -0.0594867 0.01 + endloop + endfacet + facet normal -0.0980062 -0.995186 -0 + outer loop + vertex -0.00783157 -0.0594867 0.01 + vertex -0.00783157 -0.0594867 0 + vertex -0.00392419 -0.0598715 0 + endloop + endfacet + facet normal -0.162902 -0.986642 0 + outer loop + vertex -0.00783157 -0.0594867 0 + vertex -0.00783157 -0.0594867 0.01 + vertex -0.0117054 -0.0588471 0.01 + endloop + endfacet + facet normal -0.162902 -0.986642 -0 + outer loop + vertex -0.0117054 -0.0588471 0.01 + vertex -0.0117054 -0.0588471 0 + vertex -0.00783157 -0.0594867 0 + endloop + endfacet + facet normal -0.227085 -0.973875 0 + outer loop + vertex -0.0117054 -0.0588471 0 + vertex -0.0117054 -0.0588471 0.01 + vertex -0.0155291 -0.0579555 0.01 + endloop + endfacet + facet normal -0.227085 -0.973875 -0 + outer loop + vertex -0.0155291 -0.0579555 0.01 + vertex -0.0155291 -0.0579555 0 + vertex -0.0117054 -0.0588471 0 + endloop + endfacet + facet normal -0.29027 -0.956945 0 + outer loop + vertex -0.0155291 -0.0579555 0 + vertex -0.0155291 -0.0579555 0.01 + vertex -0.0192864 -0.0568158 0.01 + endloop + endfacet + facet normal -0.29027 -0.956945 -0 + outer loop + vertex -0.0192864 -0.0568158 0.01 + vertex -0.0192864 -0.0568158 0 + vertex -0.0155291 -0.0579555 0 + endloop + endfacet + facet normal -0.352245 -0.935908 0 + outer loop + vertex -0.0192864 -0.0568158 0 + vertex -0.0192864 -0.0568158 0.01 + vertex -0.022961 -0.0554328 0.01 + endloop + endfacet + facet normal -0.352245 -0.935908 -0 + outer loop + vertex -0.022961 -0.0554328 0.01 + vertex -0.022961 -0.0554328 0 + vertex -0.0192864 -0.0568158 0 + endloop + endfacet + facet normal -0.412707 -0.910864 0 + outer loop + vertex -0.022961 -0.0554328 0 + vertex -0.022961 -0.0554328 0.01 + vertex -0.0265373 -0.0538124 0.01 + endloop + endfacet + facet normal -0.412707 -0.910864 -0 + outer loop + vertex -0.0265373 -0.0538124 0.01 + vertex -0.0265373 -0.0538124 0 + vertex -0.022961 -0.0554328 0 + endloop + endfacet + facet normal -0.471406 -0.881916 0 + outer loop + vertex -0.0265373 -0.0538124 0 + vertex -0.0265373 -0.0538124 0.01 + vertex -0.03 -0.0519615 0.01 + endloop + endfacet + facet normal -0.471406 -0.881916 -0 + outer loop + vertex -0.03 -0.0519615 0.01 + vertex -0.03 -0.0519615 0 + vertex -0.0265373 -0.0538124 0 + endloop + endfacet + facet normal -0.528061 -0.849207 0 + outer loop + vertex -0.03 -0.0519615 0 + vertex -0.03 -0.0519615 0.01 + vertex -0.0333342 -0.0498882 0.01 + endloop + endfacet + facet normal -0.528061 -0.849207 -0 + outer loop + vertex -0.0333342 -0.0498882 0.01 + vertex -0.0333342 -0.0498882 0 + vertex -0.03 -0.0519615 0 + endloop + endfacet + facet normal -0.582478 -0.812846 0 + outer loop + vertex -0.0333342 -0.0498882 0 + vertex -0.0333342 -0.0498882 0.01 + vertex -0.0365257 -0.0476012 0.01 + endloop + endfacet + facet normal -0.582478 -0.812846 -0 + outer loop + vertex -0.0365257 -0.0476012 0.01 + vertex -0.0365257 -0.0476012 0 + vertex -0.0333342 -0.0498882 0 + endloop + endfacet + facet normal -0.634399 -0.773005 0 + outer loop + vertex -0.0365257 -0.0476012 0 + vertex -0.0365257 -0.0476012 0.01 + vertex -0.0395607 -0.0451104 0.01 + endloop + endfacet + facet normal -0.634399 -0.773005 -0 + outer loop + vertex -0.0395607 -0.0451104 0.01 + vertex -0.0395607 -0.0451104 0 + vertex -0.0365257 -0.0476012 0 + endloop + endfacet + facet normal -0.683589 -0.729867 0 + outer loop + vertex -0.0395607 -0.0451104 0 + vertex -0.0395607 -0.0451104 0.01 + vertex -0.0424264 -0.0424264 0.01 + endloop + endfacet + facet normal -0.683589 -0.729867 -0 + outer loop + vertex -0.0424264 -0.0424264 0.01 + vertex -0.0424264 -0.0424264 0 + vertex -0.0395607 -0.0451104 0 + endloop + endfacet + facet normal -0.729867 -0.683589 0 + outer loop + vertex -0.0424264 -0.0424264 0 + vertex -0.0424264 -0.0424264 0.01 + vertex -0.0451104 -0.0395607 0.01 + endloop + endfacet + facet normal -0.729867 -0.683589 -0 + outer loop + vertex -0.0451104 -0.0395607 0.01 + vertex -0.0451104 -0.0395607 0 + vertex -0.0424264 -0.0424264 0 + endloop + endfacet + facet normal -0.773005 -0.634399 0 + outer loop + vertex -0.0451104 -0.0395607 0 + vertex -0.0451104 -0.0395607 0.01 + vertex -0.0476012 -0.0365257 0.01 + endloop + endfacet + facet normal -0.773005 -0.634399 -0 + outer loop + vertex -0.0476012 -0.0365257 0.01 + vertex -0.0476012 -0.0365257 0 + vertex -0.0451104 -0.0395607 0 + endloop + endfacet + facet normal -0.812846 -0.582478 0 + outer loop + vertex -0.0476012 -0.0365257 0 + vertex -0.0476012 -0.0365257 0.01 + vertex -0.0498882 -0.0333342 0.01 + endloop + endfacet + facet normal -0.812846 -0.582478 -0 + outer loop + vertex -0.0498882 -0.0333342 0.01 + vertex -0.0498882 -0.0333342 0 + vertex -0.0476012 -0.0365257 0 + endloop + endfacet + facet normal -0.849207 -0.528061 0 + outer loop + vertex -0.0498882 -0.0333342 0 + vertex -0.0498882 -0.0333342 0.01 + vertex -0.0519615 -0.03 0.01 + endloop + endfacet + facet normal -0.849207 -0.528061 -0 + outer loop + vertex -0.0519615 -0.03 0.01 + vertex -0.0519615 -0.03 0 + vertex -0.0498882 -0.0333342 0 + endloop + endfacet + facet normal -0.881916 -0.471406 0 + outer loop + vertex -0.0519615 -0.03 0 + vertex -0.0519615 -0.03 0.01 + vertex -0.0538124 -0.0265373 0.01 + endloop + endfacet + facet normal -0.881916 -0.471406 -0 + outer loop + vertex -0.0538124 -0.0265373 0.01 + vertex -0.0538124 -0.0265373 0 + vertex -0.0519615 -0.03 0 + endloop + endfacet + facet normal -0.910864 -0.412707 0 + outer loop + vertex -0.0538124 -0.0265373 0 + vertex -0.0538124 -0.0265373 0.01 + vertex -0.0554328 -0.022961 0.01 + endloop + endfacet + facet normal -0.910864 -0.412707 -0 + outer loop + vertex -0.0554328 -0.022961 0.01 + vertex -0.0554328 -0.022961 0 + vertex -0.0538124 -0.0265373 0 + endloop + endfacet + facet normal -0.935908 -0.352245 0 + outer loop + vertex -0.0554328 -0.022961 0 + vertex -0.0554328 -0.022961 0.01 + vertex -0.0568158 -0.0192864 0.01 + endloop + endfacet + facet normal -0.935908 -0.352245 -0 + outer loop + vertex -0.0568158 -0.0192864 0.01 + vertex -0.0568158 -0.0192864 0 + vertex -0.0554328 -0.022961 0 + endloop + endfacet + facet normal -0.956945 -0.29027 0 + outer loop + vertex -0.0568158 -0.0192864 0 + vertex -0.0568158 -0.0192864 0.01 + vertex -0.0579555 -0.0155291 0.01 + endloop + endfacet + facet normal -0.956945 -0.29027 -0 + outer loop + vertex -0.0579555 -0.0155291 0.01 + vertex -0.0579555 -0.0155291 0 + vertex -0.0568158 -0.0192864 0 + endloop + endfacet + facet normal -0.973875 -0.227085 0 + outer loop + vertex -0.0579555 -0.0155291 0 + vertex -0.0579555 -0.0155291 0.01 + vertex -0.0588471 -0.0117054 0.01 + endloop + endfacet + facet normal -0.973875 -0.227085 -0 + outer loop + vertex -0.0588471 -0.0117054 0.01 + vertex -0.0588471 -0.0117054 0 + vertex -0.0579555 -0.0155291 0 + endloop + endfacet + facet normal -0.986642 -0.162902 0 + outer loop + vertex -0.0588471 -0.0117054 0 + vertex -0.0588471 -0.0117054 0.01 + vertex -0.0594867 -0.00783157 0.01 + endloop + endfacet + facet normal -0.986642 -0.162902 -0 + outer loop + vertex -0.0594867 -0.00783157 0.01 + vertex -0.0594867 -0.00783157 0 + vertex -0.0588471 -0.0117054 0 + endloop + endfacet + facet normal -0.995186 -0.0980062 0 + outer loop + vertex -0.0594867 -0.00783157 0 + vertex -0.0594867 -0.00783157 0.01 + vertex -0.0598715 -0.00392419 0.01 + endloop + endfacet + facet normal -0.995186 -0.0980062 -0 + outer loop + vertex -0.0598715 -0.00392419 0.01 + vertex -0.0598715 -0.00392419 0 + vertex -0.0594867 -0.00783157 0 + endloop + endfacet + facet normal -0.999464 -0.0327281 0 + outer loop + vertex -0.0598715 -0.00392419 0 + vertex -0.0598715 -0.00392419 0.01 + vertex -0.06 2.15388e-10 0.01 + endloop + endfacet + facet normal -0.999464 -0.0327281 -0 + outer loop + vertex -0.06 2.15388e-10 0.01 + vertex -0.06 2.15388e-10 0 + vertex -0.0598715 -0.00392419 0 + endloop + endfacet + facet normal -0.999464 0.0327281 0 + outer loop + vertex -0.06 2.15388e-10 0 + vertex -0.06 2.15388e-10 0.01 + vertex -0.0598715 0.00392419 0.01 + endloop + endfacet + facet normal -0.999464 0.0327281 0 + outer loop + vertex -0.0598715 0.00392419 0.01 + vertex -0.0598715 0.00392419 0 + vertex -0.06 2.15388e-10 0 + endloop + endfacet + facet normal -0.995186 0.0980062 0 + outer loop + vertex -0.0598715 0.00392419 0 + vertex -0.0598715 0.00392419 0.01 + vertex -0.0594867 0.00783157 0.01 + endloop + endfacet + facet normal -0.995186 0.0980062 0 + outer loop + vertex -0.0594867 0.00783157 0.01 + vertex -0.0594867 0.00783157 0 + vertex -0.0598715 0.00392419 0 + endloop + endfacet + facet normal -0.986642 0.162902 0 + outer loop + vertex -0.0594867 0.00783157 0 + vertex -0.0594867 0.00783157 0.01 + vertex -0.0588471 0.0117054 0.01 + endloop + endfacet + facet normal -0.986642 0.162902 0 + outer loop + vertex -0.0588471 0.0117054 0.01 + vertex -0.0588471 0.0117054 0 + vertex -0.0594867 0.00783157 0 + endloop + endfacet + facet normal -0.973875 0.227085 0 + outer loop + vertex -0.0588471 0.0117054 0 + vertex -0.0588471 0.0117054 0.01 + vertex -0.0579555 0.0155291 0.01 + endloop + endfacet + facet normal -0.973875 0.227085 0 + outer loop + vertex -0.0579555 0.0155291 0.01 + vertex -0.0579555 0.0155291 0 + vertex -0.0588471 0.0117054 0 + endloop + endfacet + facet normal -0.956945 0.29027 0 + outer loop + vertex -0.0579555 0.0155291 0 + vertex -0.0579555 0.0155291 0.01 + vertex -0.0568158 0.0192864 0.01 + endloop + endfacet + facet normal -0.956945 0.29027 0 + outer loop + vertex -0.0568158 0.0192864 0.01 + vertex -0.0568158 0.0192864 0 + vertex -0.0579555 0.0155291 0 + endloop + endfacet + facet normal -0.935908 0.352245 0 + outer loop + vertex -0.0568158 0.0192864 0 + vertex -0.0568158 0.0192864 0.01 + vertex -0.0554328 0.022961 0.01 + endloop + endfacet + facet normal -0.935908 0.352245 0 + outer loop + vertex -0.0554328 0.022961 0.01 + vertex -0.0554328 0.022961 0 + vertex -0.0568158 0.0192864 0 + endloop + endfacet + facet normal -0.910864 0.412707 0 + outer loop + vertex -0.0554328 0.022961 0 + vertex -0.0554328 0.022961 0.01 + vertex -0.0538124 0.0265373 0.01 + endloop + endfacet + facet normal -0.910864 0.412707 0 + outer loop + vertex -0.0538124 0.0265373 0.01 + vertex -0.0538124 0.0265373 0 + vertex -0.0554328 0.022961 0 + endloop + endfacet + facet normal -0.881916 0.471406 0 + outer loop + vertex -0.0538124 0.0265373 0 + vertex -0.0538124 0.0265373 0.01 + vertex -0.0519615 0.03 0.01 + endloop + endfacet + facet normal -0.881916 0.471406 0 + outer loop + vertex -0.0519615 0.03 0.01 + vertex -0.0519615 0.03 0 + vertex -0.0538124 0.0265373 0 + endloop + endfacet + facet normal -0.849207 0.528061 0 + outer loop + vertex -0.0519615 0.03 0 + vertex -0.0519615 0.03 0.01 + vertex -0.0498882 0.0333342 0.01 + endloop + endfacet + facet normal -0.849207 0.528061 0 + outer loop + vertex -0.0498882 0.0333342 0.01 + vertex -0.0498882 0.0333342 0 + vertex -0.0519615 0.03 0 + endloop + endfacet + facet normal -0.812846 0.582478 0 + outer loop + vertex -0.0498882 0.0333342 0 + vertex -0.0498882 0.0333342 0.01 + vertex -0.0476012 0.0365257 0.01 + endloop + endfacet + facet normal -0.812846 0.582478 0 + outer loop + vertex -0.0476012 0.0365257 0.01 + vertex -0.0476012 0.0365257 0 + vertex -0.0498882 0.0333342 0 + endloop + endfacet + facet normal -0.773005 0.634399 0 + outer loop + vertex -0.0476012 0.0365257 0 + vertex -0.0476012 0.0365257 0.01 + vertex -0.0451104 0.0395607 0.01 + endloop + endfacet + facet normal -0.773005 0.634399 0 + outer loop + vertex -0.0451104 0.0395607 0.01 + vertex -0.0451104 0.0395607 0 + vertex -0.0476012 0.0365257 0 + endloop + endfacet + facet normal -0.729867 0.683589 0 + outer loop + vertex -0.0451104 0.0395607 0 + vertex -0.0451104 0.0395607 0.01 + vertex -0.0424264 0.0424264 0.01 + endloop + endfacet + facet normal -0.729867 0.683589 0 + outer loop + vertex -0.0424264 0.0424264 0.01 + vertex -0.0424264 0.0424264 0 + vertex -0.0451104 0.0395607 0 + endloop + endfacet + facet normal -0.683589 0.729867 0 + outer loop + vertex -0.0424264 0.0424264 0 + vertex -0.0424264 0.0424264 0.01 + vertex -0.0395607 0.0451104 0.01 + endloop + endfacet + facet normal -0.683589 0.729867 0 + outer loop + vertex -0.0395607 0.0451104 0.01 + vertex -0.0395607 0.0451104 0 + vertex -0.0424264 0.0424264 0 + endloop + endfacet + facet normal -0.634399 0.773005 0 + outer loop + vertex -0.0395607 0.0451104 0 + vertex -0.0395607 0.0451104 0.01 + vertex -0.0365257 0.0476012 0.01 + endloop + endfacet + facet normal -0.634399 0.773005 0 + outer loop + vertex -0.0365257 0.0476012 0.01 + vertex -0.0365257 0.0476012 0 + vertex -0.0395607 0.0451104 0 + endloop + endfacet + facet normal -0.582478 0.812846 0 + outer loop + vertex -0.0365257 0.0476012 0 + vertex -0.0365257 0.0476012 0.01 + vertex -0.0333342 0.0498882 0.01 + endloop + endfacet + facet normal -0.582478 0.812846 0 + outer loop + vertex -0.0333342 0.0498882 0.01 + vertex -0.0333342 0.0498882 0 + vertex -0.0365257 0.0476012 0 + endloop + endfacet + facet normal -0.528061 0.849207 0 + outer loop + vertex -0.0333342 0.0498882 0 + vertex -0.0333342 0.0498882 0.01 + vertex -0.03 0.0519615 0.01 + endloop + endfacet + facet normal -0.528061 0.849207 0 + outer loop + vertex -0.03 0.0519615 0.01 + vertex -0.03 0.0519615 0 + vertex -0.0333342 0.0498882 0 + endloop + endfacet + facet normal -0.471406 0.881916 0 + outer loop + vertex -0.03 0.0519615 0 + vertex -0.03 0.0519615 0.01 + vertex -0.0265373 0.0538124 0.01 + endloop + endfacet + facet normal -0.471406 0.881916 0 + outer loop + vertex -0.0265373 0.0538124 0.01 + vertex -0.0265373 0.0538124 0 + vertex -0.03 0.0519615 0 + endloop + endfacet + facet normal -0.412707 0.910864 0 + outer loop + vertex -0.0265373 0.0538124 0 + vertex -0.0265373 0.0538124 0.01 + vertex -0.022961 0.0554328 0.01 + endloop + endfacet + facet normal -0.412707 0.910864 0 + outer loop + vertex -0.022961 0.0554328 0.01 + vertex -0.022961 0.0554328 0 + vertex -0.0265373 0.0538124 0 + endloop + endfacet + facet normal -0.352245 0.935908 0 + outer loop + vertex -0.022961 0.0554328 0 + vertex -0.022961 0.0554328 0.01 + vertex -0.0192864 0.0568158 0.01 + endloop + endfacet + facet normal -0.352245 0.935908 0 + outer loop + vertex -0.0192864 0.0568158 0.01 + vertex -0.0192864 0.0568158 0 + vertex -0.022961 0.0554328 0 + endloop + endfacet + facet normal -0.29027 0.956945 0 + outer loop + vertex -0.0192864 0.0568158 0 + vertex -0.0192864 0.0568158 0.01 + vertex -0.0155291 0.0579555 0.01 + endloop + endfacet + facet normal -0.29027 0.956945 0 + outer loop + vertex -0.0155291 0.0579555 0.01 + vertex -0.0155291 0.0579555 0 + vertex -0.0192864 0.0568158 0 + endloop + endfacet + facet normal -0.227085 0.973875 0 + outer loop + vertex -0.0155291 0.0579555 0 + vertex -0.0155291 0.0579555 0.01 + vertex -0.0117054 0.0588471 0.01 + endloop + endfacet + facet normal -0.227085 0.973875 0 + outer loop + vertex -0.0117054 0.0588471 0.01 + vertex -0.0117054 0.0588471 0 + vertex -0.0155291 0.0579555 0 + endloop + endfacet + facet normal -0.162902 0.986642 0 + outer loop + vertex -0.0117054 0.0588471 0 + vertex -0.0117054 0.0588471 0.01 + vertex -0.00783157 0.0594867 0.01 + endloop + endfacet + facet normal -0.162902 0.986642 0 + outer loop + vertex -0.00783157 0.0594867 0.01 + vertex -0.00783157 0.0594867 0 + vertex -0.0117054 0.0588471 0 + endloop + endfacet + facet normal -0.0980062 0.995186 0 + outer loop + vertex -0.00783157 0.0594867 0 + vertex -0.00783157 0.0594867 0.01 + vertex -0.00392419 0.0598715 0.01 + endloop + endfacet + facet normal -0.0980062 0.995186 0 + outer loop + vertex -0.00392419 0.0598715 0.01 + vertex -0.00392419 0.0598715 0 + vertex -0.00783157 0.0594867 0 + endloop + endfacet + facet normal -0.0327281 0.999464 0 + outer loop + vertex -0.00392419 0.0598715 0 + vertex -0.00392419 0.0598715 0.01 + vertex 1.07694e-10 0.06 0.01 + endloop + endfacet + facet normal -0.0327281 0.999464 0 + outer loop + vertex 1.07694e-10 0.06 0.01 + vertex 1.07694e-10 0.06 0 + vertex -0.00392419 0.0598715 0 + endloop + endfacet + facet normal 0.0327281 0.999464 -0 + outer loop + vertex 1.07694e-10 0.06 0 + vertex 1.07694e-10 0.06 0.01 + vertex 0.00392419 0.0598715 0.01 + endloop + endfacet + facet normal 0.0327281 0.999464 0 + outer loop + vertex 0.00392419 0.0598715 0.01 + vertex 0.00392419 0.0598715 0 + vertex 1.07694e-10 0.06 0 + endloop + endfacet + facet normal 0.0980062 0.995186 -0 + outer loop + vertex 0.00392419 0.0598715 0 + vertex 0.00392419 0.0598715 0.01 + vertex 0.00783157 0.0594867 0.01 + endloop + endfacet + facet normal 0.0980062 0.995186 0 + outer loop + vertex 0.00783157 0.0594867 0.01 + vertex 0.00783157 0.0594867 0 + vertex 0.00392419 0.0598715 0 + endloop + endfacet + facet normal 0.162902 0.986642 -0 + outer loop + vertex 0.00783157 0.0594867 0 + vertex 0.00783157 0.0594867 0.01 + vertex 0.0117054 0.0588471 0.01 + endloop + endfacet + facet normal 0.162902 0.986642 0 + outer loop + vertex 0.0117054 0.0588471 0.01 + vertex 0.0117054 0.0588471 0 + vertex 0.00783157 0.0594867 0 + endloop + endfacet + facet normal 0.227085 0.973875 -0 + outer loop + vertex 0.0117054 0.0588471 0 + vertex 0.0117054 0.0588471 0.01 + vertex 0.0155291 0.0579555 0.01 + endloop + endfacet + facet normal 0.227085 0.973875 0 + outer loop + vertex 0.0155291 0.0579555 0.01 + vertex 0.0155291 0.0579555 0 + vertex 0.0117054 0.0588471 0 + endloop + endfacet + facet normal 0.29027 0.956945 -0 + outer loop + vertex 0.0155291 0.0579555 0 + vertex 0.0155291 0.0579555 0.01 + vertex 0.0192864 0.0568158 0.01 + endloop + endfacet + facet normal 0.29027 0.956945 0 + outer loop + vertex 0.0192864 0.0568158 0.01 + vertex 0.0192864 0.0568158 0 + vertex 0.0155291 0.0579555 0 + endloop + endfacet + facet normal 0.352245 0.935908 -0 + outer loop + vertex 0.0192864 0.0568158 0 + vertex 0.0192864 0.0568158 0.01 + vertex 0.022961 0.0554328 0.01 + endloop + endfacet + facet normal 0.352245 0.935908 0 + outer loop + vertex 0.022961 0.0554328 0.01 + vertex 0.022961 0.0554328 0 + vertex 0.0192864 0.0568158 0 + endloop + endfacet + facet normal 0.412707 0.910864 -0 + outer loop + vertex 0.022961 0.0554328 0 + vertex 0.022961 0.0554328 0.01 + vertex 0.0265373 0.0538124 0.01 + endloop + endfacet + facet normal 0.412707 0.910864 0 + outer loop + vertex 0.0265373 0.0538124 0.01 + vertex 0.0265373 0.0538124 0 + vertex 0.022961 0.0554328 0 + endloop + endfacet + facet normal 0.471406 0.881916 -0 + outer loop + vertex 0.0265373 0.0538124 0 + vertex 0.0265373 0.0538124 0.01 + vertex 0.03 0.0519615 0.01 + endloop + endfacet + facet normal 0.471406 0.881916 0 + outer loop + vertex 0.03 0.0519615 0.01 + vertex 0.03 0.0519615 0 + vertex 0.0265373 0.0538124 0 + endloop + endfacet + facet normal 0.528061 0.849207 -0 + outer loop + vertex 0.03 0.0519615 0 + vertex 0.03 0.0519615 0.01 + vertex 0.0333342 0.0498882 0.01 + endloop + endfacet + facet normal 0.528061 0.849207 0 + outer loop + vertex 0.0333342 0.0498882 0.01 + vertex 0.0333342 0.0498882 0 + vertex 0.03 0.0519615 0 + endloop + endfacet + facet normal 0.582478 0.812846 -0 + outer loop + vertex 0.0333342 0.0498882 0 + vertex 0.0333342 0.0498882 0.01 + vertex 0.0365257 0.0476012 0.01 + endloop + endfacet + facet normal 0.582478 0.812846 0 + outer loop + vertex 0.0365257 0.0476012 0.01 + vertex 0.0365257 0.0476012 0 + vertex 0.0333342 0.0498882 0 + endloop + endfacet + facet normal 0.634399 0.773005 -0 + outer loop + vertex 0.0365257 0.0476012 0 + vertex 0.0365257 0.0476012 0.01 + vertex 0.0395607 0.0451104 0.01 + endloop + endfacet + facet normal 0.634399 0.773005 0 + outer loop + vertex 0.0395607 0.0451104 0.01 + vertex 0.0395607 0.0451104 0 + vertex 0.0365257 0.0476012 0 + endloop + endfacet + facet normal 0.683589 0.729867 -0 + outer loop + vertex 0.0395607 0.0451104 0 + vertex 0.0395607 0.0451104 0.01 + vertex 0.0424264 0.0424264 0.01 + endloop + endfacet + facet normal 0.683589 0.729867 0 + outer loop + vertex 0.0424264 0.0424264 0.01 + vertex 0.0424264 0.0424264 0 + vertex 0.0395607 0.0451104 0 + endloop + endfacet + facet normal 0.729867 0.683589 -0 + outer loop + vertex 0.0424264 0.0424264 0 + vertex 0.0424264 0.0424264 0.01 + vertex 0.0451104 0.0395607 0.01 + endloop + endfacet + facet normal 0.729867 0.683589 0 + outer loop + vertex 0.0451104 0.0395607 0.01 + vertex 0.0451104 0.0395607 0 + vertex 0.0424264 0.0424264 0 + endloop + endfacet + facet normal 0.773005 0.634399 -0 + outer loop + vertex 0.0451104 0.0395607 0 + vertex 0.0451104 0.0395607 0.01 + vertex 0.0476012 0.0365257 0.01 + endloop + endfacet + facet normal 0.773005 0.634399 0 + outer loop + vertex 0.0476012 0.0365257 0.01 + vertex 0.0476012 0.0365257 0 + vertex 0.0451104 0.0395607 0 + endloop + endfacet + facet normal 0.812846 0.582478 -0 + outer loop + vertex 0.0476012 0.0365257 0 + vertex 0.0476012 0.0365257 0.01 + vertex 0.0498882 0.0333342 0.01 + endloop + endfacet + facet normal 0.812846 0.582478 0 + outer loop + vertex 0.0498882 0.0333342 0.01 + vertex 0.0498882 0.0333342 0 + vertex 0.0476012 0.0365257 0 + endloop + endfacet + facet normal 0.849207 0.528061 -0 + outer loop + vertex 0.0498882 0.0333342 0 + vertex 0.0498882 0.0333342 0.01 + vertex 0.0519615 0.03 0.01 + endloop + endfacet + facet normal 0.849207 0.528061 0 + outer loop + vertex 0.0519615 0.03 0.01 + vertex 0.0519615 0.03 0 + vertex 0.0498882 0.0333342 0 + endloop + endfacet + facet normal 0.881916 0.471406 -0 + outer loop + vertex 0.0519615 0.03 0 + vertex 0.0519615 0.03 0.01 + vertex 0.0538124 0.0265373 0.01 + endloop + endfacet + facet normal 0.881916 0.471406 0 + outer loop + vertex 0.0538124 0.0265373 0.01 + vertex 0.0538124 0.0265373 0 + vertex 0.0519615 0.03 0 + endloop + endfacet + facet normal 0.910864 0.412707 -0 + outer loop + vertex 0.0538124 0.0265373 0 + vertex 0.0538124 0.0265373 0.01 + vertex 0.0554328 0.022961 0.01 + endloop + endfacet + facet normal 0.910864 0.412707 0 + outer loop + vertex 0.0554328 0.022961 0.01 + vertex 0.0554328 0.022961 0 + vertex 0.0538124 0.0265373 0 + endloop + endfacet + facet normal 0.935908 0.352245 -0 + outer loop + vertex 0.0554328 0.022961 0 + vertex 0.0554328 0.022961 0.01 + vertex 0.0568158 0.0192864 0.01 + endloop + endfacet + facet normal 0.935908 0.352245 0 + outer loop + vertex 0.0568158 0.0192864 0.01 + vertex 0.0568158 0.0192864 0 + vertex 0.0554328 0.022961 0 + endloop + endfacet + facet normal 0.956945 0.29027 -0 + outer loop + vertex 0.0568158 0.0192864 0 + vertex 0.0568158 0.0192864 0.01 + vertex 0.0579555 0.0155291 0.01 + endloop + endfacet + facet normal 0.956945 0.29027 0 + outer loop + vertex 0.0579555 0.0155291 0.01 + vertex 0.0579555 0.0155291 0 + vertex 0.0568158 0.0192864 0 + endloop + endfacet + facet normal 0.973875 0.227085 -0 + outer loop + vertex 0.0579555 0.0155291 0 + vertex 0.0579555 0.0155291 0.01 + vertex 0.0588471 0.0117054 0.01 + endloop + endfacet + facet normal 0.973875 0.227085 0 + outer loop + vertex 0.0588471 0.0117054 0.01 + vertex 0.0588471 0.0117054 0 + vertex 0.0579555 0.0155291 0 + endloop + endfacet + facet normal 0.986642 0.162902 -0 + outer loop + vertex 0.0588471 0.0117054 0 + vertex 0.0588471 0.0117054 0.01 + vertex 0.0594867 0.00783157 0.01 + endloop + endfacet + facet normal 0.986642 0.162902 0 + outer loop + vertex 0.0594867 0.00783157 0.01 + vertex 0.0594867 0.00783157 0 + vertex 0.0588471 0.0117054 0 + endloop + endfacet + facet normal 0.995186 0.0980062 -0 + outer loop + vertex 0.0594867 0.00783157 0 + vertex 0.0594867 0.00783157 0.01 + vertex 0.0598715 0.00392419 0.01 + endloop + endfacet + facet normal 0.995186 0.0980062 0 + outer loop + vertex 0.0598715 0.00392419 0.01 + vertex 0.0598715 0.00392419 0 + vertex 0.0594867 0.00783157 0 + endloop + endfacet + facet normal 0.999464 0.0327281 -0 + outer loop + vertex 0.0598715 0.00392419 0 + vertex 0.0598715 0.00392419 0.01 + vertex 0.06 0 0.01 + endloop + endfacet + facet normal 0.999464 0.0327281 0 + outer loop + vertex 0.06 0 0.01 + vertex 0.06 0 0 + vertex 0.0598715 0.00392419 0 + endloop + endfacet +endsolid AMI1 diff --git a/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/turbulenceProperties b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/turbulenceProperties new file mode 100644 index 00000000000..c248a5b18b3 --- /dev/null +++ b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/constant/turbulenceProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2012 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; + + +// ************************************************************************* // diff --git a/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/makeMesh b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/makeMesh new file mode 100755 index 00000000000..010f38bd5f8 --- /dev/null +++ b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/makeMesh @@ -0,0 +1,11 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +m4 system/blockMeshDict.m4 > system/blockMeshDict +runApplication blockMesh + +runApplication topoSet + +#------------------------------------------------------------------------------ diff --git a/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/system/blockMeshDict.m4 b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/system/blockMeshDict.m4 new file mode 100644 index 00000000000..7a8c5a5152e --- /dev/null +++ b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/system/blockMeshDict.m4 @@ -0,0 +1,924 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2012 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + `format' ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// General macros to create 2D/extruded-2D meshes + +changecom(//)changequote([,]) +define(calc, [esyscmd(perl -e 'print ($1)')]) +define(VCOUNT, 0) +define(vlabel, [[// ]Vertex $1 = VCOUNT define($1, VCOUNT)define([VCOUNT], incr(VCOUNT))]) +define(pi, 3.14159265) + +define(hex2D, hex ($1b $2b $3b $4b $1t $2t $3t $4t)) +define(quad2D, ($1b $2b $2t $1t)) +define(frontQuad, ($1t $2t $3t $4t)) +define(backQuad, ($1b $4b $3b $2b)) + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +scale 0.1; + +// Hub radius +define(r, 0.2) + +// Impeller-tip radius +define(rb, 0.5) + +// Baffle-tip radius +define(Rb, 0.7) + +// Tank radius +define(R, 1) + +// MRF region radius +define(ri, calc(0.5*(rb + Rb))) + +// Thickness of 2D slab +define(z, 0.1) + +// Base z +define(Zb, 0) + +// Top z +define(Zt, calc(Zb + z)) + +// Number of cells radially between hub and impeller tip +define(Nr, 12) + +// Number of cells radially in each of the two regions between +// impeller and baffle tips +define(Ni, 4) + +// Number of cells radially between baffle tip and tank +define(NR, 12) + +// Number of cells azimuthally in each of the 8 blocks +define(Na, 12) + +// Number of cells in the thickness of the slab +define(Nz, 1) + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +define(vert, (x$1$2 y$1$2 $3)) +define(evert, (ex$1$2 ey$1$2 $3)) + +define(a0, 0) +define(a1, -45) +define(a2, -90) +define(a3, -135) +define(a4, 180) +define(a5, 135) +define(a6, 90) +define(a7, 45) + +define(ea0, -22.5) +define(ea1, -67.5) +define(ea2, -112.5) +define(ea3, -157.5) +define(ea4, 157.5) +define(ea5, 112.5) +define(ea6, 67.5) +define(ea7, 22.5) + +define(ca0, calc(cos((pi/180)*a0))) +define(ca1, calc(cos((pi/180)*a1))) +define(ca2, calc(cos((pi/180)*a2))) +define(ca3, calc(cos((pi/180)*a3))) +define(ca4, calc(cos((pi/180)*a4))) +define(ca5, calc(cos((pi/180)*a5))) +define(ca6, calc(cos((pi/180)*a6))) +define(ca7, calc(cos((pi/180)*a7))) + +define(sa0, calc(sin((pi/180)*a0))) +define(sa1, calc(sin((pi/180)*a1))) +define(sa2, calc(sin((pi/180)*a2))) +define(sa3, calc(sin((pi/180)*a3))) +define(sa4, calc(sin((pi/180)*a4))) +define(sa5, calc(sin((pi/180)*a5))) +define(sa6, calc(sin((pi/180)*a6))) +define(sa7, calc(sin((pi/180)*a7))) + +define(cea0, calc(cos((pi/180)*ea0))) +define(cea1, calc(cos((pi/180)*ea1))) +define(cea2, calc(cos((pi/180)*ea2))) +define(cea3, calc(cos((pi/180)*ea3))) +define(cea4, calc(cos((pi/180)*ea4))) +define(cea5, calc(cos((pi/180)*ea5))) +define(cea6, calc(cos((pi/180)*ea6))) +define(cea7, calc(cos((pi/180)*ea7))) + +define(sea0, calc(sin((pi/180)*ea0))) +define(sea1, calc(sin((pi/180)*ea1))) +define(sea2, calc(sin((pi/180)*ea2))) +define(sea3, calc(sin((pi/180)*ea3))) +define(sea4, calc(sin((pi/180)*ea4))) +define(sea5, calc(sin((pi/180)*ea5))) +define(sea6, calc(sin((pi/180)*ea6))) +define(sea7, calc(sin((pi/180)*ea7))) + +define(x00, calc(r*ca0)) +define(x01, calc(r*ca1)) +define(x02, calc(r*ca2)) +define(x03, calc(r*ca3)) +define(x04, calc(r*ca4)) +define(x05, calc(r*ca5)) +define(x06, calc(r*ca6)) +define(x07, calc(r*ca7)) + +define(x10, calc(rb*ca0)) +define(x11, calc(rb*ca1)) +define(x12, calc(rb*ca2)) +define(x13, calc(rb*ca3)) +define(x14, calc(rb*ca4)) +define(x15, calc(rb*ca5)) +define(x16, calc(rb*ca6)) +define(x17, calc(rb*ca7)) + +define(x20, calc(ri*ca0)) +define(x21, calc(ri*ca1)) +define(x22, calc(ri*ca2)) +define(x23, calc(ri*ca3)) +define(x24, calc(ri*ca4)) +define(x25, calc(ri*ca5)) +define(x26, calc(ri*ca6)) +define(x27, calc(ri*ca7)) + +define(x30, calc(Rb*ca0)) +define(x31, calc(Rb*ca1)) +define(x32, calc(Rb*ca2)) +define(x33, calc(Rb*ca3)) +define(x34, calc(Rb*ca4)) +define(x35, calc(Rb*ca5)) +define(x36, calc(Rb*ca6)) +define(x37, calc(Rb*ca7)) + +define(x40, calc(R*ca0)) +define(x41, calc(R*ca1)) +define(x42, calc(R*ca2)) +define(x43, calc(R*ca3)) +define(x44, calc(R*ca4)) +define(x45, calc(R*ca5)) +define(x46, calc(R*ca6)) +define(x47, calc(R*ca7)) + +define(y00, calc(r*sa0)) +define(y01, calc(r*sa1)) +define(y02, calc(r*sa2)) +define(y03, calc(r*sa3)) +define(y04, calc(r*sa4)) +define(y05, calc(r*sa5)) +define(y06, calc(r*sa6)) +define(y07, calc(r*sa7)) + +define(y10, calc(rb*sa0)) +define(y11, calc(rb*sa1)) +define(y12, calc(rb*sa2)) +define(y13, calc(rb*sa3)) +define(y14, calc(rb*sa4)) +define(y15, calc(rb*sa5)) +define(y16, calc(rb*sa6)) +define(y17, calc(rb*sa7)) + +define(y20, calc(ri*sa0)) +define(y21, calc(ri*sa1)) +define(y22, calc(ri*sa2)) +define(y23, calc(ri*sa3)) +define(y24, calc(ri*sa4)) +define(y25, calc(ri*sa5)) +define(y26, calc(ri*sa6)) +define(y27, calc(ri*sa7)) + +define(y30, calc(Rb*sa0)) +define(y31, calc(Rb*sa1)) +define(y32, calc(Rb*sa2)) +define(y33, calc(Rb*sa3)) +define(y34, calc(Rb*sa4)) +define(y35, calc(Rb*sa5)) +define(y36, calc(Rb*sa6)) +define(y37, calc(Rb*sa7)) + +define(y40, calc(R*sa0)) +define(y41, calc(R*sa1)) +define(y42, calc(R*sa2)) +define(y43, calc(R*sa3)) +define(y44, calc(R*sa4)) +define(y45, calc(R*sa5)) +define(y46, calc(R*sa6)) +define(y47, calc(R*sa7)) + +define(ex00, calc(r*cea0)) +define(ex01, calc(r*cea1)) +define(ex02, calc(r*cea2)) +define(ex03, calc(r*cea3)) +define(ex04, calc(r*cea4)) +define(ex05, calc(r*cea5)) +define(ex06, calc(r*cea6)) +define(ex07, calc(r*cea7)) + +define(ex10, calc(rb*cea0)) +define(ex11, calc(rb*cea1)) +define(ex12, calc(rb*cea2)) +define(ex13, calc(rb*cea3)) +define(ex14, calc(rb*cea4)) +define(ex15, calc(rb*cea5)) +define(ex16, calc(rb*cea6)) +define(ex17, calc(rb*cea7)) + +define(ex20, calc(ri*cea0)) +define(ex21, calc(ri*cea1)) +define(ex22, calc(ri*cea2)) +define(ex23, calc(ri*cea3)) +define(ex24, calc(ri*cea4)) +define(ex25, calc(ri*cea5)) +define(ex26, calc(ri*cea6)) +define(ex27, calc(ri*cea7)) + +define(ex30, calc(Rb*cea0)) +define(ex31, calc(Rb*cea1)) +define(ex32, calc(Rb*cea2)) +define(ex33, calc(Rb*cea3)) +define(ex34, calc(Rb*cea4)) +define(ex35, calc(Rb*cea5)) +define(ex36, calc(Rb*cea6)) +define(ex37, calc(Rb*cea7)) + +define(ex40, calc(R*cea0)) +define(ex41, calc(R*cea1)) +define(ex42, calc(R*cea2)) +define(ex43, calc(R*cea3)) +define(ex44, calc(R*cea4)) +define(ex45, calc(R*cea5)) +define(ex46, calc(R*cea6)) +define(ex47, calc(R*cea7)) + +define(ey00, calc(r*sea0)) +define(ey01, calc(r*sea1)) +define(ey02, calc(r*sea2)) +define(ey03, calc(r*sea3)) +define(ey04, calc(r*sea4)) +define(ey05, calc(r*sea5)) +define(ey06, calc(r*sea6)) +define(ey07, calc(r*sea7)) + +define(ey10, calc(rb*sea0)) +define(ey11, calc(rb*sea1)) +define(ey12, calc(rb*sea2)) +define(ey13, calc(rb*sea3)) +define(ey14, calc(rb*sea4)) +define(ey15, calc(rb*sea5)) +define(ey16, calc(rb*sea6)) +define(ey17, calc(rb*sea7)) + +define(ey20, calc(ri*sea0)) +define(ey21, calc(ri*sea1)) +define(ey22, calc(ri*sea2)) +define(ey23, calc(ri*sea3)) +define(ey24, calc(ri*sea4)) +define(ey25, calc(ri*sea5)) +define(ey26, calc(ri*sea6)) +define(ey27, calc(ri*sea7)) + +define(ey30, calc(Rb*sea0)) +define(ey31, calc(Rb*sea1)) +define(ey32, calc(Rb*sea2)) +define(ey33, calc(Rb*sea3)) +define(ey34, calc(Rb*sea4)) +define(ey35, calc(Rb*sea5)) +define(ey36, calc(Rb*sea6)) +define(ey37, calc(Rb*sea7)) + +define(ey40, calc(R*sea0)) +define(ey41, calc(R*sea1)) +define(ey42, calc(R*sea2)) +define(ey43, calc(R*sea3)) +define(ey44, calc(R*sea4)) +define(ey45, calc(R*sea5)) +define(ey46, calc(R*sea6)) +define(ey47, calc(R*sea7)) + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +vertices +( + vert(0, 0, Zb) vlabel(r0b) + vert(0, 0, Zb) vlabel(r0sb) + vert(0, 1, Zb) vlabel(r1b) + vert(0, 2, Zb) vlabel(r2b) + vert(0, 2, Zb) vlabel(r2sb) + vert(0, 3, Zb) vlabel(r3b) + vert(0, 4, Zb) vlabel(r4b) + vert(0, 4, Zb) vlabel(r4sb) + vert(0, 5, Zb) vlabel(r5b) + vert(0, 6, Zb) vlabel(r6b) + vert(0, 6, Zb) vlabel(r6sb) + vert(0, 7, Zb) vlabel(r7b) + + vert(1, 0, Zb) vlabel(rb0b) + vert(1, 1, Zb) vlabel(rb1b) + vert(1, 2, Zb) vlabel(rb2b) + vert(1, 3, Zb) vlabel(rb3b) + vert(1, 4, Zb) vlabel(rb4b) + vert(1, 5, Zb) vlabel(rb5b) + vert(1, 6, Zb) vlabel(rb6b) + vert(1, 7, Zb) vlabel(rb7b) + + vert(2, 0, Zb) vlabel(ri0b) + vert(2, 1, Zb) vlabel(ri1b) + vert(2, 2, Zb) vlabel(ri2b) + vert(2, 3, Zb) vlabel(ri3b) + vert(2, 4, Zb) vlabel(ri4b) + vert(2, 5, Zb) vlabel(ri5b) + vert(2, 6, Zb) vlabel(ri6b) + vert(2, 7, Zb) vlabel(ri7b) + + vert(2, 0, Zb) vlabel(ris0b) + vert(2, 1, Zb) vlabel(ris1b) + vert(2, 2, Zb) vlabel(ris2b) + vert(2, 3, Zb) vlabel(ris3b) + vert(2, 4, Zb) vlabel(ris4b) + vert(2, 5, Zb) vlabel(ris5b) + vert(2, 6, Zb) vlabel(ris6b) + vert(2, 7, Zb) vlabel(ris7b) + + vert(3, 0, Zb) vlabel(Rb0b) + vert(3, 1, Zb) vlabel(Rb1b) + vert(3, 2, Zb) vlabel(Rb2b) + vert(3, 3, Zb) vlabel(Rb3b) + vert(3, 4, Zb) vlabel(Rb4b) + vert(3, 5, Zb) vlabel(Rb5b) + vert(3, 6, Zb) vlabel(Rb6b) + vert(3, 7, Zb) vlabel(Rb7b) + + vert(4, 0, Zb) vlabel(R0b) + vert(4, 1, Zb) vlabel(R1b) + vert(4, 1, Zb) vlabel(R1sb) + vert(4, 2, Zb) vlabel(R2b) + vert(4, 3, Zb) vlabel(R3b) + vert(4, 3, Zb) vlabel(R3sb) + vert(4, 4, Zb) vlabel(R4b) + vert(4, 5, Zb) vlabel(R5b) + vert(4, 5, Zb) vlabel(R5sb) + vert(4, 6, Zb) vlabel(R6b) + vert(4, 7, Zb) vlabel(R7b) + vert(4, 7, Zb) vlabel(R7sb) + + vert(0, 0, Zt) vlabel(r0t) + vert(0, 0, Zt) vlabel(r0st) + vert(0, 1, Zt) vlabel(r1t) + vert(0, 2, Zt) vlabel(r2t) + vert(0, 2, Zt) vlabel(r2st) + vert(0, 3, Zt) vlabel(r3t) + vert(0, 4, Zt) vlabel(r4t) + vert(0, 4, Zt) vlabel(r4st) + vert(0, 5, Zt) vlabel(r5t) + vert(0, 6, Zt) vlabel(r6t) + vert(0, 6, Zt) vlabel(r6st) + vert(0, 7, Zt) vlabel(r7t) + + vert(1, 0, Zt) vlabel(rb0t) + vert(1, 1, Zt) vlabel(rb1t) + vert(1, 2, Zt) vlabel(rb2t) + vert(1, 3, Zt) vlabel(rb3t) + vert(1, 4, Zt) vlabel(rb4t) + vert(1, 5, Zt) vlabel(rb5t) + vert(1, 6, Zt) vlabel(rb6t) + vert(1, 7, Zt) vlabel(rb7t) + + vert(2, 0, Zt) vlabel(ri0t) + vert(2, 1, Zt) vlabel(ri1t) + vert(2, 2, Zt) vlabel(ri2t) + vert(2, 3, Zt) vlabel(ri3t) + vert(2, 4, Zt) vlabel(ri4t) + vert(2, 5, Zt) vlabel(ri5t) + vert(2, 6, Zt) vlabel(ri6t) + vert(2, 7, Zt) vlabel(ri7t) + + vert(2, 0, Zt) vlabel(ris0t) + vert(2, 1, Zt) vlabel(ris1t) + vert(2, 2, Zt) vlabel(ris2t) + vert(2, 3, Zt) vlabel(ris3t) + vert(2, 4, Zt) vlabel(ris4t) + vert(2, 5, Zt) vlabel(ris5t) + vert(2, 6, Zt) vlabel(ris6t) + vert(2, 7, Zt) vlabel(ris7t) + + vert(3, 0, Zt) vlabel(Rb0t) + vert(3, 1, Zt) vlabel(Rb1t) + vert(3, 2, Zt) vlabel(Rb2t) + vert(3, 3, Zt) vlabel(Rb3t) + vert(3, 4, Zt) vlabel(Rb4t) + vert(3, 5, Zt) vlabel(Rb5t) + vert(3, 6, Zt) vlabel(Rb6t) + vert(3, 7, Zt) vlabel(Rb7t) + + vert(4, 0, Zt) vlabel(R0t) + vert(4, 1, Zt) vlabel(R1t) + vert(4, 1, Zt) vlabel(R1st) + vert(4, 2, Zt) vlabel(R2t) + vert(4, 3, Zt) vlabel(R3t) + vert(4, 3, Zt) vlabel(R3st) + vert(4, 4, Zt) vlabel(R4t) + vert(4, 5, Zt) vlabel(R5t) + vert(4, 5, Zt) vlabel(R5st) + vert(4, 6, Zt) vlabel(R6t) + vert(4, 7, Zt) vlabel(R7t) + vert(4, 7, Zt) vlabel(R7st) +); + +blocks +( + // block0 + hex2D(r0, r1, rb1, rb0) + rotor + (Na Nr Nz) + simpleGrading (1 1 1) + + // block1 + hex2D(r1, r2s, rb2, rb1) + rotor + (Na Nr Nz) + simpleGrading (1 1 1) + + // block2 + hex2D(r2, r3, rb3, rb2) + rotor + (Na Nr Nz) + simpleGrading (1 1 1) + + // block3 + hex2D(r3, r4s, rb4, rb3) + rotor + (Na Nr Nz) + simpleGrading (1 1 1) + + // block4 + hex2D(r4, r5, rb5, rb4) + rotor + (Na Nr Nz) + simpleGrading (1 1 1) + + // block5 + hex2D(r5, r6s, rb6, rb5) + rotor + (Na Nr Nz) + simpleGrading (1 1 1) + + // block6 + hex2D(r6, r7, rb7, rb6) + rotor + (Na Nr Nz) + simpleGrading (1 1 1) + + // block7 + hex2D(r7, r0s, rb0, rb7) + rotor + (Na Nr Nz) + simpleGrading (1 1 1) + + // block0 + hex2D(rb0, rb1, ri1, ri0) + rotor + (Na Ni Nz) + simpleGrading (1 1 1) + + // block1 + hex2D(rb1, rb2, ri2, ri1) + rotor + (Na Ni Nz) + simpleGrading (1 1 1) + + // block2 + hex2D(rb2, rb3, ri3, ri2) + rotor + (Na Ni Nz) + simpleGrading (1 1 1) + + // block3 + hex2D(rb3, rb4, ri4, ri3) + rotor + (Na Ni Nz) + simpleGrading (1 1 1) + + // block4 + hex2D(rb4, rb5, ri5, ri4) + rotor + (Na Ni Nz) + simpleGrading (1 1 1) + + // block5 + hex2D(rb5, rb6, ri6, ri5) + rotor + (Na Ni Nz) + simpleGrading (1 1 1) + + // block6 + hex2D(rb6, rb7, ri7, ri6) + rotor + (Na Ni Nz) + simpleGrading (1 1 1) + + // block7 + hex2D(rb7, rb0, ri0, ri7) + rotor + (Na Ni Nz) + simpleGrading (1 1 1) + + // block0 + hex2D(ris0, ris1, Rb1, Rb0) + (Na Ni Nz) + simpleGrading (1 1 1) + + // block1 + hex2D(ris1, ris2, Rb2, Rb1) + (Na Ni Nz) + simpleGrading (1 1 1) + + // block2 + hex2D(ris2, ris3, Rb3, Rb2) + (Na Ni Nz) + simpleGrading (1 1 1) + + // block3 + hex2D(ris3, ris4, Rb4, Rb3) + (Na Ni Nz) + simpleGrading (1 1 1) + + // block4 + hex2D(ris4, ris5, Rb5, Rb4) + (Na Ni Nz) + simpleGrading (1 1 1) + + // block5 + hex2D(ris5, ris6, Rb6, Rb5) + (Na Ni Nz) + simpleGrading (1 1 1) + + // block6 + hex2D(ris6, ris7, Rb7, Rb6) + (Na Ni Nz) + simpleGrading (1 1 1) + + // block7 + hex2D(ris7, ris0, Rb0, Rb7) + (Na Ni Nz) + simpleGrading (1 1 1) + + // block0 + hex2D(Rb0, Rb1, R1s, R0) + (Na NR Nz) + simpleGrading (1 1 1) + + // block1 + hex2D(Rb1, Rb2, R2, R1) + (Na NR Nz) + simpleGrading (1 1 1) + + // block2 + hex2D(Rb2, Rb3, R3s, R2) + (Na NR Nz) + simpleGrading (1 1 1) + + // block3 + hex2D(Rb3, Rb4, R4, R3) + (Na NR Nz) + simpleGrading (1 1 1) + + // block4 + hex2D(Rb4, Rb5, R5s, R4) + (Na NR Nz) + simpleGrading (1 1 1) + + // block5 + hex2D(Rb5, Rb6, R6, R5) + (Na NR Nz) + simpleGrading (1 1 1) + + // block6 + hex2D(Rb6, Rb7, R7s, R6) + (Na NR Nz) + simpleGrading (1 1 1) + + // block7 + hex2D(Rb7, Rb0, R0, R7) + (Na NR Nz) + simpleGrading (1 1 1) +); + +edges +( + arc r0b r1b evert(0, 0, Zb) + arc r1b r2sb evert(0, 1, Zb) + arc r2b r3b evert(0, 2, Zb) + arc r3b r4sb evert(0, 3, Zb) + arc r4b r5b evert(0, 4, Zb) + arc r5b r6sb evert(0, 5, Zb) + arc r6b r7b evert(0, 6, Zb) + arc r7b r0sb evert(0, 7, Zb) + + arc rb0b rb1b evert(1, 0, Zb) + arc rb1b rb2b evert(1, 1, Zb) + arc rb2b rb3b evert(1, 2, Zb) + arc rb3b rb4b evert(1, 3, Zb) + arc rb4b rb5b evert(1, 4, Zb) + arc rb5b rb6b evert(1, 5, Zb) + arc rb6b rb7b evert(1, 6, Zb) + arc rb7b rb0b evert(1, 7, Zb) + + arc ri0b ri1b evert(2, 0, Zb) + arc ri1b ri2b evert(2, 1, Zb) + arc ri2b ri3b evert(2, 2, Zb) + arc ri3b ri4b evert(2, 3, Zb) + arc ri4b ri5b evert(2, 4, Zb) + arc ri5b ri6b evert(2, 5, Zb) + arc ri6b ri7b evert(2, 6, Zb) + arc ri7b ri0b evert(2, 7, Zb) + + arc ris0b ris1b evert(2, 0, Zb) + arc ris1b ris2b evert(2, 1, Zb) + arc ris2b ris3b evert(2, 2, Zb) + arc ris3b ris4b evert(2, 3, Zb) + arc ris4b ris5b evert(2, 4, Zb) + arc ris5b ris6b evert(2, 5, Zb) + arc ris6b ris7b evert(2, 6, Zb) + arc ris7b ris0b evert(2, 7, Zb) + + arc Rb0b Rb1b evert(3, 0, Zb) + arc Rb1b Rb2b evert(3, 1, Zb) + arc Rb2b Rb3b evert(3, 2, Zb) + arc Rb3b Rb4b evert(3, 3, Zb) + arc Rb4b Rb5b evert(3, 4, Zb) + arc Rb5b Rb6b evert(3, 5, Zb) + arc Rb6b Rb7b evert(3, 6, Zb) + arc Rb7b Rb0b evert(3, 7, Zb) + + arc R0b R1sb evert(4, 0, Zb) + arc R1b R2b evert(4, 1, Zb) + arc R2b R3sb evert(4, 2, Zb) + arc R3b R4b evert(4, 3, Zb) + arc R4b R5sb evert(4, 4, Zb) + arc R5b R6b evert(4, 5, Zb) + arc R6b R7sb evert(4, 6, Zb) + arc R7b R0b evert(4, 7, Zb) + + arc r0t r1t evert(0, 0, Zt) + arc r1t r2st evert(0, 1, Zt) + arc r2t r3t evert(0, 2, Zt) + arc r3t r4st evert(0, 3, Zt) + arc r4t r5t evert(0, 4, Zt) + arc r5t r6st evert(0, 5, Zt) + arc r6t r7t evert(0, 6, Zt) + arc r7t r0st evert(0, 7, Zt) + + arc rb0t rb1t evert(1, 0, Zt) + arc rb1t rb2t evert(1, 1, Zt) + arc rb2t rb3t evert(1, 2, Zt) + arc rb3t rb4t evert(1, 3, Zt) + arc rb4t rb5t evert(1, 4, Zt) + arc rb5t rb6t evert(1, 5, Zt) + arc rb6t rb7t evert(1, 6, Zt) + arc rb7t rb0t evert(1, 7, Zt) + + arc ri0t ri1t evert(2, 0, Zt) + arc ri1t ri2t evert(2, 1, Zt) + arc ri2t ri3t evert(2, 2, Zt) + arc ri3t ri4t evert(2, 3, Zt) + arc ri4t ri5t evert(2, 4, Zt) + arc ri5t ri6t evert(2, 5, Zt) + arc ri6t ri7t evert(2, 6, Zt) + arc ri7t ri0t evert(2, 7, Zt) + + arc ris0t ris1t evert(2, 0, Zt) + arc ris1t ris2t evert(2, 1, Zt) + arc ris2t ris3t evert(2, 2, Zt) + arc ris3t ris4t evert(2, 3, Zt) + arc ris4t ris5t evert(2, 4, Zt) + arc ris5t ris6t evert(2, 5, Zt) + arc ris6t ris7t evert(2, 6, Zt) + arc ris7t ris0t evert(2, 7, Zt) + + arc Rb0t Rb1t evert(3, 0, Zt) + arc Rb1t Rb2t evert(3, 1, Zt) + arc Rb2t Rb3t evert(3, 2, Zt) + arc Rb3t Rb4t evert(3, 3, Zt) + arc Rb4t Rb5t evert(3, 4, Zt) + arc Rb5t Rb6t evert(3, 5, Zt) + arc Rb6t Rb7t evert(3, 6, Zt) + arc Rb7t Rb0t evert(3, 7, Zt) + + arc R0t R1st evert(4, 0, Zt) + arc R1t R2t evert(4, 1, Zt) + arc R2t R3st evert(4, 2, Zt) + arc R3t R4t evert(4, 3, Zt) + arc R4t R5st evert(4, 4, Zt) + arc R5t R6t evert(4, 5, Zt) + arc R6t R7st evert(4, 6, Zt) + arc R7t R0t evert(4, 7, Zt) +); + +boundary +( + rotor + { + type wall; + faces + ( + quad2D(r0, r1) + quad2D(r1, r2s) + quad2D(r2, r3) + quad2D(r3, r4s) + quad2D(r4, r5) + quad2D(r5, r6s) + quad2D(r6, r7) + quad2D(r7, r0s) + + quad2D(r0, rb0) + quad2D(r0s, rb0) + + quad2D(r2, rb2) + quad2D(r2s, rb2) + + quad2D(r4, rb4) + quad2D(r4s, rb4) + + quad2D(r6, rb6) + quad2D(r6s, rb6) + ); + } + + stator + { + type wall; + faces + ( + quad2D(R0, R1s) + quad2D(R1, R2) + quad2D(R2, R3s) + quad2D(R3, R4) + quad2D(R4, R5s) + quad2D(R5, R6) + quad2D(R6, R7s) + quad2D(R7, R0) + + quad2D(R1, Rb1) + quad2D(R1s, Rb1) + + quad2D(R3, Rb3) + quad2D(R3s, Rb3) + + quad2D(R5, Rb5) + quad2D(R5s, Rb5) + + quad2D(R7, Rb7) + quad2D(R7s, Rb7) + ); + } + + AMI1 + { + type cyclicAMI; + neighbourPatch AMI2; + transform noOrdering; +/* optional + surface + { + type cylinder; // none + point1 (0 0 -1); + point2 (0 0 1); + radius 0.5; + } +*/ + faces + ( + quad2D(ri1, ri0) + quad2D(ri2, ri1) + quad2D(ri3, ri2) + quad2D(ri4, ri3) + quad2D(ri5, ri4) + quad2D(ri6, ri5) + quad2D(ri7, ri6) + quad2D(ri0, ri7) + ); + } + + AMI2 + { + type cyclicAMI; + neighbourPatch AMI1; + transform noOrdering; +/* optional + surface + { + type cylinder; // none + point1 (0 0 -1); + point2 (0 0 1); + radius 0.5; + } +*/ + faces + ( + quad2D(ris1, ris0) + quad2D(ris2, ris1) + quad2D(ris3, ris2) + quad2D(ris4, ris3) + quad2D(ris5, ris4) + quad2D(ris6, ris5) + quad2D(ris7, ris6) + quad2D(ris0, ris7) + ); + } + + front + { + type empty; + faces + ( + frontQuad(r0, r1, rb1, rb0) + frontQuad(r1, r2s, rb2, rb1) + frontQuad(r2, r3, rb3, rb2) + frontQuad(r3, r4s, rb4, rb3) + frontQuad(r4, r5, rb5, rb4) + frontQuad(r5, r6s, rb6, rb5) + frontQuad(r6, r7, rb7, rb6) + frontQuad(r7, r0s, rb0, rb7) + frontQuad(rb0, rb1, ri1, ri0) + frontQuad(rb1, rb2, ri2, ri1) + frontQuad(rb2, rb3, ri3, ri2) + frontQuad(rb3, rb4, ri4, ri3) + frontQuad(rb4, rb5, ri5, ri4) + frontQuad(rb5, rb6, ri6, ri5) + frontQuad(rb6, rb7, ri7, ri6) + frontQuad(rb7, rb0, ri0, ri7) + frontQuad(ris0, ris1, Rb1, Rb0) + frontQuad(ris1, ris2, Rb2, Rb1) + frontQuad(ris2, ris3, Rb3, Rb2) + frontQuad(ris3, ris4, Rb4, Rb3) + frontQuad(ris4, ris5, Rb5, Rb4) + frontQuad(ris5, ris6, Rb6, Rb5) + frontQuad(ris6, ris7, Rb7, Rb6) + frontQuad(ris7, ris0, Rb0, Rb7) + frontQuad(Rb0, Rb1, R1s, R0) + frontQuad(Rb1, Rb2, R2, R1) + frontQuad(Rb2, Rb3, R3s, R2) + frontQuad(Rb3, Rb4, R4, R3) + frontQuad(Rb4, Rb5, R5s, R4) + frontQuad(Rb5, Rb6, R6, R5) + frontQuad(Rb6, Rb7, R7s, R6) + frontQuad(Rb7, Rb0, R0, R7) + ); + } + + back + { + type empty; + faces + ( + backQuad(r0, r1, rb1, rb0) + backQuad(r1, r2s, rb2, rb1) + backQuad(r2, r3, rb3, rb2) + backQuad(r3, r4s, rb4, rb3) + backQuad(r4, r5, rb5, rb4) + backQuad(r5, r6s, rb6, rb5) + backQuad(r6, r7, rb7, rb6) + backQuad(r7, r0s, rb0, rb7) + backQuad(rb0, rb1, ri1, ri0) + backQuad(rb1, rb2, ri2, ri1) + backQuad(rb2, rb3, ri3, ri2) + backQuad(rb3, rb4, ri4, ri3) + backQuad(rb4, rb5, ri5, ri4) + backQuad(rb5, rb6, ri6, ri5) + backQuad(rb6, rb7, ri7, ri6) + backQuad(rb7, rb0, ri0, ri7) + backQuad(ris0, ris1, Rb1, Rb0) + backQuad(ris1, ris2, Rb2, Rb1) + backQuad(ris2, ris3, Rb3, Rb2) + backQuad(ris3, ris4, Rb4, Rb3) + backQuad(ris4, ris5, Rb5, Rb4) + backQuad(ris5, ris6, Rb6, Rb5) + backQuad(ris6, ris7, Rb7, Rb6) + backQuad(ris7, ris0, Rb0, Rb7) + backQuad(Rb0, Rb1, R1s, R0) + backQuad(Rb1, Rb2, R2, R1) + backQuad(Rb2, Rb3, R3s, R2) + backQuad(Rb3, Rb4, R4, R3) + backQuad(Rb4, Rb5, R5s, R4) + backQuad(Rb5, Rb6, R6, R5) + backQuad(Rb6, Rb7, R7s, R6) + backQuad(Rb7, Rb0, R0, R7) + ); + } +); + +// ************************************************************************* // diff --git a/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/system/controlDict b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/system/controlDict new file mode 100644 index 00000000000..453b9d22483 --- /dev/null +++ b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/system/controlDict @@ -0,0 +1,56 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2012 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application icoReactingMultiphaseInterFoam; + +startFrom latestTime;//startTime; + +startTime 0; + +stopAt endTime; + +endTime 0.35; + +deltaT 1e-5; + +writeControl adjustable; + +writeInterval 0.01; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 6; + +writeCompression off; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +adjustTimeStep yes; + +maxCo 0.7; + +maxDeltaT 0.2; + +maxAlphaCo 0.7; + +// ************************************************************************* // diff --git a/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/system/decomposeParDict b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/system/decomposeParDict new file mode 100644 index 00000000000..763854b64d3 --- /dev/null +++ b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/system/decomposeParDict @@ -0,0 +1,30 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2012 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +//- Force AMI to be on single processor. Can cause imbalance with some +// decomposers. +//singleProcessorFaceSets ((AMI -1)); + +numberOfSubdomains 4; + +method scotch; + +distributed no; + +roots ( ); + + +// ************************************************************************* // diff --git a/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/system/fvSchemes b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/system/fvSchemes new file mode 100644 index 00000000000..3d51db46887 --- /dev/null +++ b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/system/fvSchemes @@ -0,0 +1,76 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2012 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default Euler; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default none; + + div(rhoPhi,U) Gauss limitedLinearV 1; + + "div\(phi,alpha.*\)" Gauss vanLeer; + "div\(phir,alpha.*\)" Gauss linear; + + "div\(phi,alpha.*\)" Gauss vanLeer; + "div\(Yiphir,alpha.*\)" Gauss vanLeer; + + "div\(phi,.*\.gas.*\)" Gauss vanLeer; + "div\(phi,.*\.liquid.*\)" Gauss vanLeer; + + div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear; + + div(phi,T) Gauss limitedLinear 1; + +} + +laplacianSchemes +{ + default Gauss linear corrected; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default corrected; +} + +wallDist +{ + method meshWave; +} + +fluxRequired +{ + default no; + p_rgh ; + "alpha.*"; +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/system/fvSolution b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/system/fvSolution new file mode 100644 index 00000000000..eff5f35e1bb --- /dev/null +++ b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/system/fvSolution @@ -0,0 +1,115 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2012 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ + ".*(rho|rhoFinal)" + { + solver diagonal; + } + + "alpha.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-08; + relTol 0.0; + + cAlphas ( + (liquid and gas) 1 + (mercury and gas) 1 + (oil and gas) 1 + (mercury and liquid) 1 + (mercury and oil) 1 + (liquid and oil) 1 + ); + + nAlphaCorr 2; + nAlphaSubCycles 3; + + // Compressiion factor for species in each alpha phase + // NOTE: It should be similar to cAlpha + cYi 1; + + } + + "U.*" + { + solver smoothSolver; + smoother symGaussSeidel; + tolerance 1e-7; + relTol 0; + }; + + "(T.*)" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-08; + relTol 0.0; + residualAlpha 1e-7; + } + + p_rgh + { + solver PBiCGStab; + preconditioner FDIC; + + tolerance 1e-9; + relTol 0.01; + }; + + p_rghFinal + { + $p_rgh; + relTol 0; + }; + + "pcorr.*" + { + solver PCG; + preconditioner DIC; + tolerance 1e-5; + relTol 0; + } +} + +PIMPLE +{ + correctPhi false; + momentumPredictor false; + nOuterCorrectors 2; + nCorrectors 3; + nNonOrthogonalCorrectors 0; + + pRefCell 0; + pRefValue 1e5; +} + +relaxationFactors +{ + fields + { + } + equations + { + ".*" 1; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/system/setFieldsDict b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/system/setFieldsDict new file mode 100644 index 00000000000..a9d2a38754d --- /dev/null +++ b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/system/setFieldsDict @@ -0,0 +1,70 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2012 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object setFieldsDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +defaultFieldValues +( + volScalarFieldValue alpha.gas 0 + volScalarFieldValue alpha.liquid 0 + volScalarFieldValue alpha.oil 0 + volScalarFieldValue alpha.mercury 0 + volScalarFieldValue T 300 +); + +regions +( + boxToCell + { + box (0 0 -1) (1 1 1); + fieldValues + ( + volScalarFieldValue alpha.liquid 1 + volScalarFieldValue T 374 + ); + } + + boxToCell + { + box (-1 0 -1) (0 1 1); + fieldValues + ( + volScalarFieldValue alpha.oil 1 + ); + } + + boxToCell + { + box (-1 -1 -1) (0 0 1); + fieldValues + ( + volScalarFieldValue alpha.mercury 1 + ); + } + + + boxToCell + { + box (0 -1 -1) (1 0 1); + fieldValues + ( + volScalarFieldValue alpha.gas 1 + ); + } + +); + + +// ************************************************************************* // diff --git a/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/system/topoSetDict b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/system/topoSetDict new file mode 100644 index 00000000000..a4db29b04bc --- /dev/null +++ b/tutorials/multiphase/icoReactingMultiPhaseInterFoam/mixerVesselAMI2D/system/topoSetDict @@ -0,0 +1,32 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2012 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +actions +( + // Get both sides of ami + // ~~~~~~~~~~~~~~~~~~~~~ + + // Get all faces in cellSet + { + name AMI; + type faceSet; + action new; + source patchToFace; + patch "AMI.*"; + } +); + +// ************************************************************************* // -- GitLab