From 34bc9cadb0167f35be1cd1b656dc86b850dfc005 Mon Sep 17 00:00:00 2001 From: Henry <Henry> Date: Sat, 1 Feb 2014 17:14:35 +0000 Subject: [PATCH] DTCHull: new interDyMFoam tutorial --- .../interDyMFoam/ras/DTCHull/0.org/U | 58 ++++ .../ras/DTCHull/0.org/alpha.water | 54 ++++ .../interDyMFoam/ras/DTCHull/0.org/k | 54 ++++ .../interDyMFoam/ras/DTCHull/0.org/nut | 53 ++++ .../interDyMFoam/ras/DTCHull/0.org/omega | 56 ++++ .../interDyMFoam/ras/DTCHull/0.org/p_rgh | 57 ++++ .../ras/DTCHull/0.org/pointDisplacement | 52 ++++ .../interDyMFoam/ras/DTCHull/Allclean | 17 ++ .../interDyMFoam/ras/DTCHull/Allrun | 48 +++ .../ras/DTCHull/constant/RASProperties | 25 ++ .../ras/DTCHull/constant/dynamicMeshDict | 67 +++++ .../interDyMFoam/ras/DTCHull/constant/g | 21 ++ .../DTCHull/constant/polyMesh/blockMeshDict | 147 +++++++++ .../ras/DTCHull/constant/transportProperties | 36 +++ .../ras/DTCHull/constant/triSurface/README | 4 + .../ras/DTCHull/constant/turbulenceProperties | 21 ++ .../ras/DTCHull/system/controlDict | 72 +++++ .../ras/DTCHull/system/decomposeParDict | 58 ++++ .../interDyMFoam/ras/DTCHull/system/fvSchemes | 63 ++++ .../ras/DTCHull/system/fvSolution | 117 ++++++++ .../ras/DTCHull/system/meshQualityDict | 86 ++++++ .../ras/DTCHull/system/refineMeshDict | 43 +++ .../ras/DTCHull/system/setFieldsDict | 49 +++ .../ras/DTCHull/system/snappyHexMeshDict | 284 ++++++++++++++++++ .../DTCHull/system/surfaceFeatureExtractDict | 48 +++ .../ras/DTCHull/system/topoSetDict.1 | 32 ++ .../ras/DTCHull/system/topoSetDict.2 | 32 ++ .../ras/DTCHull/system/topoSetDict.3 | 32 ++ .../ras/DTCHull/system/topoSetDict.4 | 32 ++ .../ras/DTCHull/system/topoSetDict.5 | 32 ++ .../ras/DTCHull/system/topoSetDict.6 | 32 ++ 31 files changed, 1782 insertions(+) create mode 100644 tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/U create mode 100644 tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/alpha.water create mode 100644 tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/k create mode 100644 tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/nut create mode 100644 tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/omega create mode 100644 tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/p_rgh create mode 100644 tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/pointDisplacement create mode 100755 tutorials/multiphase/interDyMFoam/ras/DTCHull/Allclean create mode 100755 tutorials/multiphase/interDyMFoam/ras/DTCHull/Allrun create mode 100644 tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/RASProperties create mode 100644 tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/dynamicMeshDict create mode 100644 tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/g create mode 100644 tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/polyMesh/blockMeshDict create mode 100644 tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/transportProperties create mode 100644 tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/triSurface/README create mode 100644 tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/turbulenceProperties create mode 100644 tutorials/multiphase/interDyMFoam/ras/DTCHull/system/controlDict create mode 100644 tutorials/multiphase/interDyMFoam/ras/DTCHull/system/decomposeParDict create mode 100644 tutorials/multiphase/interDyMFoam/ras/DTCHull/system/fvSchemes create mode 100644 tutorials/multiphase/interDyMFoam/ras/DTCHull/system/fvSolution create mode 100644 tutorials/multiphase/interDyMFoam/ras/DTCHull/system/meshQualityDict create mode 100644 tutorials/multiphase/interDyMFoam/ras/DTCHull/system/refineMeshDict create mode 100644 tutorials/multiphase/interDyMFoam/ras/DTCHull/system/setFieldsDict create mode 100644 tutorials/multiphase/interDyMFoam/ras/DTCHull/system/snappyHexMeshDict create mode 100644 tutorials/multiphase/interDyMFoam/ras/DTCHull/system/surfaceFeatureExtractDict create mode 100644 tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.1 create mode 100644 tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.2 create mode 100644 tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.3 create mode 100644 tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.4 create mode 100644 tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.5 create mode 100644 tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.6 diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/U b/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/U new file mode 100644 index 00000000000..507cfa947df --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/U @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + location "0"; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +Umean 1.668; +mUmean -1.668; + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform ($mUmean 0 0); + +boundaryField +{ + //- Set patchGroups for constraint patches + #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes" + + inlet + { + type fixedValue; + value $internalField; + } + + outlet + { + type outletPhaseMeanVelocity; + alpha alpha.water; + Umean $Umean; + value $internalField; + } + + atmosphere + { + type pressureInletOutletVelocity; + value uniform (0 0 0); + } + + hull + { + type movingWallVelocity; + value uniform (0 0 0); + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/alpha.water b/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/alpha.water new file mode 100644 index 00000000000..06ee368c9c4 --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/alpha.water @@ -0,0 +1,54 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object alpha; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + //- Set patchGroups for constraint patches + #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes" + + inlet + { + type fixedValue; + value $internalField; + } + + outlet + { + type variableHeightFlowRate; + lowerBound 0; + upperBound 1; + value $internalField; + } + + atmosphere + { + type inletOutlet; + inletValue $internalField; + value $internalField; + } + + hull + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/k b/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/k new file mode 100644 index 00000000000..392241cd6fa --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/k @@ -0,0 +1,54 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object k; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0.00015; + +boundaryField +{ + //- Set patchGroups for constraint patches + #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes" + + inlet + { + type fixedValue; + value $internalField; + } + + outlet + { + type inletOutlet; + inletValue $internalField; + value $internalField; + } + + atmosphere + { + type inletOutlet; + inletValue $internalField; + value $internalField; + } + + hull + { + type kqRWallFunction; + value $internalField; + } +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/nut b/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/nut new file mode 100644 index 00000000000..4abe529d46d --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/nut @@ -0,0 +1,53 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 5e-07; + +boundaryField +{ + //- Set patchGroups for constraint patches + #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes" + + inlet + { + type fixedValue; + value $internalField; + } + + outlet + { + type zeroGradient; + } + + atmosphere + { + type zeroGradient; + } + + hull + { + type nutkRoughWallFunction; + Ks uniform 100e-6; + Cs uniform 0.5; + value $internalField; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/omega b/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/omega new file mode 100644 index 00000000000..0dde05c3ac1 --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/omega @@ -0,0 +1,56 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object omega; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 -1 0 0 0 0]; + +internalField uniform 2; + +boundaryField +{ + //- Set patchGroups for constraint patches + #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes" + + inlet + { + type fixedValue; + value $internalField; + } + + outlet + { + type inletOutlet; + inletValue $internalField; + value $internalField; + } + + atmosphere + { + type inletOutlet; + inletValue $internalField; + value $internalField; + } + + hull + { + type omegaWallFunction; + value $internalField; + } +} + + + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/p_rgh b/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/p_rgh new file mode 100644 index 00000000000..0c0eda7c6fa --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/p_rgh @@ -0,0 +1,57 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object p_rgh; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + //- Set patchGroups for constraint patches + #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes" + + inlet + { + type fixedFluxPressure; + value $internalField; + } + + outlet + { + type zeroGradient; + } + + atmosphere + { + type totalPressure; + p0 uniform 0; + U U; + phi phi; + rho rho; + psi none; + gamma 1; + value $internalField; + } + + hull + { + type fixedFluxPressure; + value $internalField; + } +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/pointDisplacement b/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/pointDisplacement new file mode 100644 index 00000000000..350676e605b --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/pointDisplacement @@ -0,0 +1,52 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class pointVectorField; + location "0"; + object pointDisplacement; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 0 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + //- Set patchGroups for constraint patches + #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes" + + inlet + { + type fixedValue; + value uniform (0 0 0); + } + + outlet + { + type fixedValue; + value uniform (0 0 0); + } + + atmosphere + { + type fixedValue; + value uniform (0 0 0); + } + + hull + { + type calculated; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/Allclean b/tutorials/multiphase/interDyMFoam/ras/DTCHull/Allclean new file mode 100755 index 00000000000..7ae6e656d7b --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/Allclean @@ -0,0 +1,17 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # run from this directory + +# Source tutorial clean functions +. $WM_PROJECT_DIR/bin/tools/CleanFunctions + +# remove surface +\rm -f constant/triSurface/DTC-scaled.stl.gz > /dev/null 2>&1 +\rm -rf constant/extendedFeatureEdgeMesh > /dev/null 2>&1 +\rm -f constant/triSurface/DTC-scaled.eMesh > /dev/null 2>&1 + +cleanCase +\rm constant/polyMesh/boundary > /dev/null 2>&1 +\rm -rf 0 > /dev/null 2>&1 +\rm system/topoSetDict > /dev/null 2>&1 + +# ----------------------------------------------------------------- end-of-file diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/Allrun b/tutorials/multiphase/interDyMFoam/ras/DTCHull/Allrun new file mode 100755 index 00000000000..b4f55601745 --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/Allrun @@ -0,0 +1,48 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # run from this directory + +# Source tutorial run functions +. $WM_PROJECT_DIR/bin/tools/RunFunctions + +runRefineMesh () +{ + echo "Running refineMesh on $PWD" + refineMesh -dict system/refineMeshDict -overwrite > log.refineMesh 2>&1 +} + +# copy DTC hull surface from resources folder +cp $FOAM_TUTORIALS/resources/geometry/DTC-scaled.stl.gz constant/triSurface/ + +runApplication surfaceFeatureExtract + +runApplication blockMesh + +i=1 +if [ -f log.topoSet.6 ] ; then + i=7 +fi +while [ "$i" -lt 7 ] ; do + cp system/topoSetDict.${i} system/topoSetDict + runApplication topoSet + runRefineMesh + mv log.topoSet log.topoSet.$i + mv log.refineMesh log.refineMesh.$i + i=$(expr $i + 1) +done + +runApplication snappyHexMesh -overwrite + +\rm -rf 0 +\cp -r 0.org 0 + +runApplication setFields + +runApplication decomposePar + +runParallel renumberMesh 8 -overwrite + +runParallel $(getApplication) 8 + +runApplication reconstructPar + +# ----------------------------------------------------------------- end-of-file diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/RASProperties b/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/RASProperties new file mode 100644 index 00000000000..e0e6b776a27 --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/RASProperties @@ -0,0 +1,25 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object RASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +RASModel kOmegaSST; + +turbulence on; + +printCoeffs on; + + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/dynamicMeshDict b/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/dynamicMeshDict new file mode 100644 index 00000000000..7e7f4969af5 --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/dynamicMeshDict @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object dynamicMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dynamicFvMesh dynamicMotionSolverFvMesh; + +motionSolverLibs ("libsixDoFRigidBodyMotion.so"); + +solver sixDoFRigidBodyMotion; + +sixDoFRigidBodyMotionCoeffs +{ + patches (hull); + innerDistance 0.3; + outerDistance 1; + + centreOfMass (2.929541 0 0.2); + mass 412.73; + momentOfInertia (40 921 921); + rhoInf 1; + report on; + accelerationRelaxation 0.3; + value uniform (0 0 0); + + constraints + { + zAxis + { + sixDoFRigidBodyMotionConstraint line; + direction (0 0 1); + } + yPlane + { + sixDoFRigidBodyMotionConstraint axis; + axis (0 1 0); + } + } + + restraints + { + translationDamper + { + sixDoFRigidBodyMotionRestraint linearDamper; + coeff 8596; + } + rotationDamper + { + sixDoFRigidBodyMotionRestraint sphericalAngularDamper; + coeff 11586; + } + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/g b/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/g new file mode 100644 index 00000000000..a0d7102656f --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/g @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class uniformDimensionedVectorField; + location "constant"; + object g; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -2 0 0 0 0]; +value (0 0 -9.81); + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/polyMesh/blockMeshDict b/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/polyMesh/blockMeshDict new file mode 100644 index 00000000000..4abd94d9818 --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/polyMesh/blockMeshDict @@ -0,0 +1,147 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.2.2 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1; + +vertices +( + (-26 -19 -16) + (16 -19 -16) + (16 0 -16) + (-26 0 -16) + + (-26 -19 -1) + (16 -19 -1) + (16 0 -1) + (-26 0 -1) + + (-26 -19 0.185) + (16 -19 0.185) + (16 0 0.185) + (-26 0 0.185) + + (-26 -19 0.244) + (16 -19 0.244) + (16 0 0.244) + (-26 0 0.244) + + (-26 -19 0.3) + (16 -19 0.3) + (16 0 0.3) + (-26 0 0.3) + + (-26 -19 1.6) + (16 -19 1.6) + (16 0 1.6) + (-26 0 1.6) + + (-26 -19 4) + (16 -19 4) + (16 0 4) + (-26 0 4) +); + +blocks +( + hex (0 1 2 3 4 5 6 7) (42 19 50) simpleGrading (1 1 0.05) + hex (4 5 6 7 8 9 10 11) (42 19 50) simpleGrading (1 1 1) + hex (8 9 10 11 12 13 14 15) (42 19 4) simpleGrading (1 1 1) + hex (12 13 14 15 16 17 18 19) (42 19 4) simpleGrading (1 1 1) + hex (16 17 18 19 20 21 22 23) (42 19 40) simpleGrading (1 1 1) + hex (20 21 22 23 24 25 26 27) (42 19 20) simpleGrading (1 1 5) +); + +edges +( +); + +boundary +( + atmosphere + { + type patch; + faces + ( + (24 25 26 27) + ); + } + inlet + { + type patch; + faces + ( + (1 2 6 5) + (5 6 10 9) + (9 10 14 13) + (13 14 18 17) + (17 18 22 21) + (21 22 26 25) + ); + } + outlet + { + type patch; + faces + ( + (0 4 7 3) + (4 8 11 7) + (8 12 15 11) + (12 16 19 15) + (16 20 23 19) + (20 24 27 23) + ); + } + bottom + { + type symmetryPlane; + faces + ( + (0 3 2 1) + ); + } + side + { + type symmetryPlane; + faces + ( + (0 1 5 4) + (4 5 9 8) + (8 9 13 12) + (12 13 17 16) + (16 17 21 20) + (20 21 25 24) + ); + } + midPlane + { + type symmetryPlane; + faces + ( + (3 7 6 2) + (7 11 10 6) + (11 15 14 10) + (15 19 18 14) + (19 23 22 18) + (23 27 26 22) + ); + } +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/transportProperties b/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/transportProperties new file mode 100644 index 00000000000..0bfa2f19b96 --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/transportProperties @@ -0,0 +1,36 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +phases (water air); + +water +{ + transportModel Newtonian; + nu nu [ 0 2 -1 0 0 0 0 ] 1.09e-06; + rho rho [ 1 -3 0 0 0 0 0 ] 998.8; +} + +air +{ + transportModel Newtonian; + nu nu [ 0 2 -1 0 0 0 0 ] 1.48e-05; + rho rho [ 1 -3 0 0 0 0 0 ] 1; +} + +sigma sigma [ 1 0 -2 0 0 0 0 ] 0; + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/triSurface/README b/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/triSurface/README new file mode 100644 index 00000000000..dbf3b73d5fc --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/triSurface/README @@ -0,0 +1,4 @@ +Folder to house tri-surfaces + +The Allrun script copies the surface from the $FOAM_TUTORIALS/resources/geometry +folder diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/turbulenceProperties b/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/turbulenceProperties new file mode 100644 index 00000000000..3721a46a2ea --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/turbulenceProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType RASModel; + + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/controlDict b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/controlDict new file mode 100644 index 00000000000..0af365257e4 --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/controlDict @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application interDyMFoam; + +startFrom startTime; + +startTime 0; + +stopAt endTime; + +endTime 50; + +deltaT 0.0001; + +writeControl adjustableRunTime; + +writeInterval 5; + +purgeWrite 0; + +writeFormat binary; + +writePrecision 6; + +writeCompression uncompressed; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +adjustTimeStep yes; + +maxCo 25; +maxAlphaCo 15; +maxDeltaT 0.01; + +functions +{ + forces + { + type forces; + functionObjectLibs ( "libforces.so" ); + patches (hull); + rhoInf 998.8; + rhoName rho; + UName U; + log on; + outputControl timeStep; + outputInterval 1; + CofR (2.929541 0 0.2); + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/decomposeParDict b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/decomposeParDict new file mode 100644 index 00000000000..2f4ac2cb1a1 --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/decomposeParDict @@ -0,0 +1,58 @@ +/*---------------------------------------------------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.4 | +| \\ / A nd | Web: http://www.openfoam.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + + root ""; + case ""; + instance ""; + local ""; + + class dictionary; + object decomposeParDict; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 8; + +method scotch; + +simpleCoeffs +{ + n (2 1 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (1 1 1); + delta 0.001; + order xyz; +} + +metisCoeffs +{ +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/fvSchemes b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/fvSchemes new file mode 100644 index 00000000000..4bca38f8ba9 --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/fvSchemes @@ -0,0 +1,63 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default Euler; +} + +gradSchemes +{ + default Gauss linear; + limitedGrad cellLimited Gauss linear 1; +} + +divSchemes +{ + div(rhoPhi,U) Gauss linearUpwind grad(U); + div(phi,alpha) Gauss vanLeer; + div(phirb,alpha) Gauss linear; + div(phi,k) Gauss linearUpwind limitedGrad; + div(phi,omega) Gauss linearUpwind limitedGrad; + div((muEff*dev(T(grad(U))))) Gauss linear; +} + +laplacianSchemes +{ + default Gauss linear corrected; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default corrected; +} + +fluxRequired +{ + default no; + p_rgh; + pcorr; + alpha.water; +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/fvSolution b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/fvSolution new file mode 100644 index 00000000000..208497384fb --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/fvSolution @@ -0,0 +1,117 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ + "alpha.water.*" + { + nAlphaCorr 3; + nAlphaSubCycles 1; + cAlpha 1; + icAlpha 0; + + alphaOuterCorrectors yes; + + MULESCorr yes; + nLimiterIter 10; + alphaApplyPrevCorr yes; + + solver smoothSolver; + smoother symGaussSeidel; + tolerance 1e-10; + relTol 0; + minIter 1; + } + + "pcorr.*" + { + solver GAMG; + + smoother DIC; + agglomerator faceAreaPair; + mergeLevels 1; + nCellsInCoarsestLevel 10; + cacheAgglomeration true; + + tolerance 0.1; + relTol 0; + }; + + p_rgh + { + solver GAMG; + + smoother DIC; + agglomerator faceAreaPair; + mergeLevels 1; + nCellsInCoarsestLevel 10; + cacheAgglomeration true; + + tolerance 5e-8; + relTol 0.001; + }; + + p_rghFinal + { + $p_rgh; + relTol 0; + } + + "(U|k|omega).*" + { + solver smoothSolver; + + smoother symGaussSeidel; + nSweeps 1; + + tolerance 1e-7; + relTol 0; + minIter 1; + }; +} + +PIMPLE +{ + momentumPredictor no; + + nOuterCorrectors 1; + nCorrectors 3; + nNonOrthogonalCorrectors 0; + + correctPhi yes; + moveMeshOuterCorrectors yes; + turbOnFinalIterOnly yes; +} + +relaxationFactors +{ + fields + { + } + equations + { + ".*" 1; + } +} + +cache +{ + grad(U); +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/meshQualityDict b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/meshQualityDict new file mode 100644 index 00000000000..465d20f1c51 --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/meshQualityDict @@ -0,0 +1,86 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.2.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object meshQualityDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +//- Maximum non-orthogonality allowed. Set to 180 to disable. +maxNonOrtho 70; + +//- Max skewness allowed. Set to <0 to disable. +maxBoundarySkewness 20; +maxInternalSkewness 4; + +//- Max concaveness allowed. Is angle (in degrees) below which concavity +// is allowed. 0 is straight face, <0 would be convex face. +// Set to 180 to disable. +maxConcave 80; + +//- Minimum pyramid volume. Is absolute volume of cell pyramid. +// Set to a sensible fraction of the smallest cell volume expected. +// Set to very negative number (e.g. -1E30) to disable. +minVol 1e-13; + +//- Minimum quality of the tet formed by the face-centre +// and variable base point minimum decomposition triangles and +// the cell centre. Set to very negative number (e.g. -1E30) to +// disable. +// <0 = inside out tet, +// 0 = flat tet +// 1 = regular tet +minTetQuality 1e-30; + +//- Minimum face area. Set to <0 to disable. +minArea -1; + +//- Minimum face twist. Set to <-1 to disable. dot product of face normal +//- and face centre triangles normal +minTwist 0.05; + +//- minimum normalised cell determinant +//- 1 = hex, <= 0 = folded or flattened illegal cell +minDeterminant 0.001; + +//- minFaceWeight (0 -> 0.5) +minFaceWeight 0.05; + +//- minVolRatio (0 -> 1) +minVolRatio 0.01; + +//must be >0 for Fluent compatibility +minTriangleTwist -1; + +//- if >0 : preserve single cells with all points on the surface if the +// resulting volume after snapping (by approximation) is larger than +// minVolCollapseRatio times old volume (i.e. not collapsed to flat cell). +// If <0 : delete always. +//minVolCollapseRatio 0.5; + + +// Advanced + +//- Number of error distribution iterations +nSmoothScale 4; +//- amount to scale back displacement at error points +errorReduction 0.75; + + + +// Optional : some meshing phases allow usage of relaxed rules. +// See e.g. addLayersControls::nRelaxedIter. +relaxed +{ + //- Maximum non-orthogonality allowed. Set to 180 to disable. + maxNonOrtho 75; +} diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/refineMeshDict b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/refineMeshDict new file mode 100644 index 00000000000..9516d1cf6a6 --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/refineMeshDict @@ -0,0 +1,43 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.2.2 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object refineMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +set c0; + +coordinateSystem global; + +globalCoeffs +{ + tan1 ( 1 0 0 ); + tan2 ( 0 1 0 ); +} + +patchLocalCoeffs +{ + patch outside; + tan1 ( 1 0 0 ); +} + +directions ( tan1 tan2 ); + +useHexTopology no; + +geometricCut yes; + +writeMesh no; + + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/setFieldsDict b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/setFieldsDict new file mode 100644 index 00000000000..c19c3b991d1 --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/setFieldsDict @@ -0,0 +1,49 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object setFieldsDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +defaultFieldValues +( + volScalarFieldValue alpha.water 0 +); + +regions +( + // Set cell values + // (does zerogradient on boundaries) + boxToCell + { + box (-999 -999 -999) (999 999 0.244); + + fieldValues + ( + volScalarFieldValue alpha.water 1 + ); + } + + // Set patch values (using ==) + boxToFace + { + box (-999 -999 -999) (999 999 0.244); + + fieldValues + ( + volScalarFieldValue alpha.water 1 + ); + } +); + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/snappyHexMeshDict b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/snappyHexMeshDict new file mode 100644 index 00000000000..fbb5e12522a --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/snappyHexMeshDict @@ -0,0 +1,284 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object snappyHexMeshDict; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// Which of the steps to run +castellatedMesh true; +snap true; +addLayers true; + + +// Geometry. Definition of all surfaces. All surfaces are of class +// searchableSurface. +// Surfaces are used +// - to specify refinement for any mesh cell intersecting it +// - to specify refinement for any mesh cell inside/outside/near +// - to 'snap' the mesh boundary to the surface +geometry +{ + DTC-scaled.stl + { + type triSurfaceMesh; + name hull; + + patchInfo + { + type wall; + } + } +}; + + + +// Settings for the castellatedMesh generation. +castellatedMeshControls +{ + + // Refinement parameters + // ~~~~~~~~~~~~~~~~~~~~~ + + // If local number of cells is >= maxLocalCells on any processor + // switches from from refinement followed by balancing + // (current method) to (weighted) balancing before refinement. + maxLocalCells 100000; + + // Overall cell limit (approximately). Refinement will stop immediately + // upon reaching this number so a refinement level might not complete. + // Note that this is the number of cells before removing the part which + // is not 'visible' from the keepPoint. The final number of cells might + // actually be a lot less. + maxGlobalCells 2000000; + + // The surface refinement loop might spend lots of iterations refining just a + // few cells. This setting will cause refinement to stop if <= minimumRefine + // are selected for refinement. Note: it will at least do one iteration + // (unless the number of cells to refine is 0) + minRefinementCells 0; + + // Number of buffer layers between different levels. + // 1 means normal 2:1 refinement restriction, larger means slower + // refinement. + nCellsBetweenLevels 3; + + + + // Explicit feature edge refinement + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + // Specifies a level for any cell intersected by its edges. + // This is a featureEdgeMesh, read from constant/triSurface for now. + features + ( + { + file "DTC-scaled.eMesh"; + level 0; + } + ); + + + + // Surface based refinement + // ~~~~~~~~~~~~~~~~~~~~~~~~ + + // Specifies two levels for every surface. The first is the minimum level, + // every cell intersecting a surface gets refined up to the minimum level. + // The second level is the maximum level. Cells that 'see' multiple + // intersections where the intersections make an + // angle > resolveFeatureAngle get refined up to the maximum level. + + refinementSurfaces + { + hull + { + // Surface-wise min and max refinement level + level (0 0); + } + } + + resolveFeatureAngle 45; + + + // Region-wise refinement + // ~~~~~~~~~~~~~~~~~~~~~~ + + // Specifies refinement level for cells in relation to a surface. One of + // three modes + // - distance. 'levels' specifies per distance to the surface the + // wanted refinement level. The distances need to be specified in + // descending order. + // - inside. 'levels' is only one entry and only the level is used. All + // cells inside the surface get refined up to the level. The surface + // needs to be closed for this to be possible. + // - outside. Same but cells outside. + + refinementRegions + { + } + + + // Mesh selection + // ~~~~~~~~~~~~~~ + + // After refinement patches get added for all refinementSurfaces and + // all cells intersecting the surfaces get put into these patches. The + // section reachable from the locationInMesh is kept. + // NOTE: This point should never be on a face, always inside a cell, even + // after refinement. + locationInMesh (-0.7 0 0); + + + // Whether any faceZones (as specified in the refinementSurfaces) + // are only on the boundary of corresponding cellZones or also allow + // free-standing zone faces. Not used if there are no faceZones. + allowFreeStandingZoneFaces true; +} + + + +// Settings for the snapping. +snapControls +{ + //- Number of patch smoothing iterations before finding correspondence + // to surface + nSmoothPatch 3; + + //- Relative distance for points to be attracted by surface feature point + // or edge. True distance is this factor times local + // maximum edge length. + // tolerance 4.0; + tolerance 1.0; + + //- Number of mesh displacement relaxation iterations. + nSolveIter 100; + + //- Maximum number of snapping relaxation iterations. Should stop + // before upon reaching a correct mesh. + nRelaxIter 5; + + nFeatureSnapIter 10; +} + + + +// Settings for the layer addition. +addLayersControls +{ + // Are the thickness parameters below relative to the undistorted + // size of the refined cell outside layer (true) or absolute sizes (false). + relativeSizes true; + + // Per final patch (so not geometry!) the layer information + layers + { + hull + { + nSurfaceLayers 3; + + } + } + + // Expansion factor for layer mesh + expansionRatio 1.5; + + + // Wanted thickness of final added cell layer. If multiple layers + // is the thickness of the layer furthest away from the wall. + // See relativeSizes parameter. + finalLayerThickness 0.7; + + // Minimum thickness of cell layer. If for any reason layer + // cannot be above minThickness do not add layer. + // See relativeSizes parameter. + minThickness 0.25; + + // If points get not extruded do nGrow layers of connected faces that are + // also not grown. This helps convergence of the layer addition process + // close to features. + // Note: changed(corrected) w.r.t 17x! (didn't do anything in 17x) + nGrow 0; + + + // Advanced settings + + // When not to extrude surface. 0 is flat surface, 90 is when two faces + // are perpendicular + featureAngle 60; + + // Maximum number of snapping relaxation iterations. Should stop + // before upon reaching a correct mesh. + nRelaxIter 5; + + // Number of smoothing iterations of surface normals + nSmoothSurfaceNormals 1; + + // Number of smoothing iterations of interior mesh movement direction + nSmoothNormals 3; + + // Smooth layer thickness over surface patches + nSmoothThickness 10; + + // Stop layer growth on highly warped cells + maxFaceThicknessRatio 0.5; + + // Reduce layer growth where ratio thickness to medial + // distance is large + maxThicknessToMedialRatio 0.3; + + // Angle used to pick up medial axis points + // Note: changed(corrected) w.r.t 17x! 90 degrees corresponds to 130 in 17x. + minMedianAxisAngle 90; + + // Create buffer region for new layer terminations + nBufferCellsNoExtrude 0; + + + // Overall max number of layer addition iterations. The mesher will exit + // if it reaches this number of iterations; possibly with an illegal + // mesh. + nLayerIter 50; + + // Max number of iterations after which relaxed meshQuality controls + // get used. Up to nRelaxIter it uses the settings in meshQualityControls, + // after nRelaxIter it uses the values in meshQualityControls::relaxed. + nRelaxedIter 20; +} + + + +// Generic mesh quality settings. At any undoable phase these determine +// where to undo. +meshQualityControls +{ + #include "meshQualityDict" +} + + +// Advanced + +// Flags for optional output +// 0 : only write final meshes +// 1 : write intermediate meshes +// 2 : write volScalarField with cellLevel for postprocessing +// 4 : write current intersections as .obj files +debug 0; + + +// Merge tolerance. Is fraction of overall bounding box of initial mesh. +// Note: the write tolerance needs to be higher than this. +mergeTolerance 1E-6; + + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/surfaceFeatureExtractDict b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/surfaceFeatureExtractDict new file mode 100644 index 00000000000..bba292f5768 --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/surfaceFeatureExtractDict @@ -0,0 +1,48 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.2.2 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object surfaceFeatureExtractDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +DTC-scaled.stl +{ + // How to obtain raw features (extractFromFile || extractFromSurface) + extractionMethod extractFromSurface; + + extractFromSurfaceCoeffs + { + // Mark edges whose adjacent surface normals are at an angle less + // than includedAngle as features + // - 0 : selects no edges + // - 180: selects all edges + includedAngle 150; + } + + subsetFeatures + { + // Keep nonManifold edges (edges with >2 connected faces) + nonManifoldEdges yes; + + // Keep open edges (edges with 1 connected face) + openEdges yes; + } + + + // Write options + + // Write features to obj format for postprocessing + writeObj yes; +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.1 b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.1 new file mode 100644 index 00000000000..ec5de6422dc --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.1 @@ -0,0 +1,32 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.2.2 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +actions +( + { + name c0; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-10 -6 -3) (10 0 3); + } + } +); + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.2 b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.2 new file mode 100644 index 00000000000..902dd3ba3c9 --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.2 @@ -0,0 +1,32 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.2.2 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +actions +( + { + name c0; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-5 -3 -2.5) (9 0 2); + } + } +); + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.3 b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.3 new file mode 100644 index 00000000000..74843219116 --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.3 @@ -0,0 +1,32 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.2.2 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +actions +( + { + name c0; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-3 -1.5 -1) (8 0 1.5); + } + } +); + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.4 b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.4 new file mode 100644 index 00000000000..7b6fb9f99f4 --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.4 @@ -0,0 +1,32 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.2.2 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +actions +( + { + name c0; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-2 -1 -0.6) (7 0 1); + } + } +); + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.5 b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.5 new file mode 100644 index 00000000000..410c7b036c5 --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.5 @@ -0,0 +1,32 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.2.2 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +actions +( + { + name c0; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1 -0.6 -0.3) (6.5 0 0.8); + } + } +); + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.6 b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.6 new file mode 100644 index 00000000000..81547b62340 --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.6 @@ -0,0 +1,32 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.2.2 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +actions +( + { + name c0; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-0.5 -0.55 -0.15) (6.25 0 0.65); + } + } +); + +// ************************************************************************* // -- GitLab