diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/boundaryT b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/boundaryT new file mode 100644 index 0000000000000000000000000000000000000000..9afc247827516321ce0b5e52eb795aacee4423ca --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/boundaryT @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object boundaryT; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 1 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + xPeriodic + { + type cyclic; + } + + yPeriodic + { + type cyclic; + } + + zPeriodic + { + type cyclic; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/boundaryU b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/boundaryU new file mode 100644 index 0000000000000000000000000000000000000000..b7117eafbc88a45b32ee2caf91af18ae22182dc7 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/boundaryU @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object boundaryU; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + xPeriodic + { + type cyclic; + } + + yPeriodic + { + type cyclic; + } + + zPeriodic + { + type cyclic; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/dsmcRhoN b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/dsmcRhoN new file mode 100644 index 0000000000000000000000000000000000000000..e9eae893d481e09bfa8bd9c14da29e2a9d783d7d --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/dsmcRhoN @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object dsmcRhoN; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 -3 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + xPeriodic + { + type cyclic; + } + + yPeriodic + { + type cyclic; + } + + zPeriodic + { + type cyclic; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/fD b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/fD new file mode 100644 index 0000000000000000000000000000000000000000..0ec2aa7410f25dbefe5ffe80efad7750657881f5 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/fD @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object fD; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + xPeriodic + { + type cyclic; + } + + yPeriodic + { + type cyclic; + } + + zPeriodic + { + type cyclic; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/iDof b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/iDof new file mode 100644 index 0000000000000000000000000000000000000000..626a947a110e1337a002592b4c1e83e80ac63e07 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/iDof @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object iDof; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 -3 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + xPeriodic + { + type cyclic; + } + + yPeriodic + { + type cyclic; + } + + zPeriodic + { + type cyclic; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/internalE b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/internalE new file mode 100644 index 0000000000000000000000000000000000000000..3dc30a0f2ec2d9c335764c66826d4e2863827da2 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/internalE @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object internalE; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + xPeriodic + { + type cyclic; + } + + yPeriodic + { + type cyclic; + } + + zPeriodic + { + type cyclic; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/linearKE b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/linearKE new file mode 100644 index 0000000000000000000000000000000000000000..1d8b022dc9afe7adf9d56a39e09cded1901e6bf8 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/linearKE @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object linearKE; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + xPeriodic + { + type cyclic; + } + + yPeriodic + { + type cyclic; + } + + zPeriodic + { + type cyclic; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/momentum b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/momentum new file mode 100644 index 0000000000000000000000000000000000000000..e35350692e7c33af9407f229a876a9006366b8cc --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/momentum @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object momentum; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -2 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + xPeriodic + { + type cyclic; + } + + yPeriodic + { + type cyclic; + } + + zPeriodic + { + type cyclic; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/q b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/q new file mode 100644 index 0000000000000000000000000000000000000000..aae46273e982bd3c3495abaffc24ea89303b135d --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/q @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object q; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 0 -3 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + xPeriodic + { + type cyclic; + } + + yPeriodic + { + type cyclic; + } + + zPeriodic + { + type cyclic; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/rhoM b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/rhoM new file mode 100644 index 0000000000000000000000000000000000000000..8dc0b17f55699f616773087006ecc874b4acbc26 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/rhoM @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object rhoM; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -3 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + xPeriodic + { + type cyclic; + } + + yPeriodic + { + type cyclic; + } + + zPeriodic + { + type cyclic; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/rhoN b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/rhoN new file mode 100644 index 0000000000000000000000000000000000000000..038fd26de386704949e026bc29e577e24696f74e --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/rhoN @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object rhoN; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 -3 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + xPeriodic + { + type cyclic; + } + + yPeriodic + { + type cyclic; + } + + zPeriodic + { + type cyclic; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/Allclean b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/Allclean new file mode 100755 index 0000000000000000000000000000000000000000..1cc972be26a9fa8c309f14c3c0d52659e62d236c --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/Allclean @@ -0,0 +1,7 @@ +#!/bin/sh + +# Source tutorial clean functions +. $WM_PROJECT_DIR/bin/tools/CleanFunctions + +cleanCase +rm -rf 0/lagrangian 0/dsmcSigmaTcRMax diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/Allrun b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/Allrun new file mode 100755 index 0000000000000000000000000000000000000000..3c61ac798ec54d2bf1f7f6c8799de3e396ab53c9 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/Allrun @@ -0,0 +1,7 @@ +#!/bin/sh +# Source tutorial run functions +. $WM_PROJECT_DIR/bin/tools/RunFunctions + +runApplication blockMesh +runApplication dsmcInitialise +runApplication dsmcFoam diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/constant/dsmcProperties b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/constant/dsmcProperties new file mode 100644 index 0000000000000000000000000000000000000000..395e69cbaa421127d0c60e7dd8bf126b94c60e4e --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/constant/dsmcProperties @@ -0,0 +1,77 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object dsmcProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +// General Properties +// ~~~~~~~~~~~~~~~~~~ + +nEquivalentParticles 1e12; + + +// Wall Interaction Model +// ~~~~~~~~~~~~~~~~~~~~~~ + +WallInteractionModel SpecularReflection; + +SpecularReflectionCoeffs {} + +// Binary Collision Model +// ~~~~~~~~~~~~~~~~~~~~~~ + +BinaryCollisionModel LarsenBorgnakkeVariableHardSphere; + +LarsenBorgnakkeVariableHardSphereCoeffs +{ + Tref 273; + relaxationCollisionNumber 5.0; +} + + +// Inflow Boundary Model +// ~~~~~~~~~~~~~~~~~~~~~ +InflowBoundaryModel NoInflow; + +NoInflowCoeffs {} + +// Molecular species +// ~~~~~~~~~~~~~~~~~ + +typeIdList (N2 O2); + +moleculeProperties +{ + N2 + { + mass 46.5e-27; + diameter 4.17e-10; + internalDegreesOfFreedom 2; + viscosityCoefficient 1.656e-5; + omega 0.74; + } + + O2 + { + mass 53.12e-27; + diameter 4.07e-10; + internalDegreesOfFreedom 2; + viscosityCoefficient 1.919e-5; + omega 0.77; + } +} + + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/constant/polyMesh/blockMeshDict b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/constant/polyMesh/blockMeshDict new file mode 100644 index 0000000000000000000000000000000000000000..fc32e203da6c40ae08ff6677eaf6318988a1b364 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/constant/polyMesh/blockMeshDict @@ -0,0 +1,73 @@ +/*---------------------------------------------------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.3 | +| \\ / A nd | Web: http://www.openfoam.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + + root ""; + case ""; + instance ""; + local ""; + + class dictionary; + object blockMeshDict; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 0.01; + +vertices +( + (-5 -4 -4) + (5 -4 -4) + (5 4 -4) + (-5 4 -4) + (-5 -4 4) + (5 -4 4) + (5 4 4) + (-5 4 4) +); + +blocks +( + hex (0 1 2 3 4 5 6 7) (20 16 16) simpleGrading (1 1 1) +); + +patches +( + cyclic + xPeriodic + ( + (1 2 6 5) + (0 4 7 3) + ) + + cyclic + yPeriodic + ( + (2 3 7 6) + (0 1 5 4) + ) + + cyclic + zPeriodic + ( + (4 5 6 7) + (0 3 2 1) + ) +) + +mergePatchPairs +( +); + + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/constant/polyMesh/boundary b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/constant/polyMesh/boundary new file mode 100644 index 0000000000000000000000000000000000000000..1a6e0ae58a917c86ccc62d907ad966c4ff8cecdc --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/constant/polyMesh/boundary @@ -0,0 +1,43 @@ +/*--------------------------------*- 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 polyBoundaryMesh; + location "constant/polyMesh"; + object boundary; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +3 +( + xPeriodic + { + type cyclic; + nFaces 512; + startFace 14464; + featureCos 0.9; + } + yPeriodic + { + type cyclic; + nFaces 640; + startFace 14976; + featureCos 0.9; + } + zPeriodic + { + type cyclic; + nFaces 640; + startFace 15616; + featureCos 0.9; + } +) + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/controlDict b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/controlDict new file mode 100644 index 0000000000000000000000000000000000000000..2a3172775adfe838f4cd3fa5c1200a5ac2b23fdd --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/controlDict @@ -0,0 +1,124 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +startFrom startTime; + +startTime 0; + +stopAt endTime; + +endTime 1e-3; + +deltaT 1e-6; + +writeControl runTime; + +writeInterval 1e-4; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 10; + +writeCompression uncompressed; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +adjustTimeStep no; + +functions +( + dsmcFields1 + { + type dsmcFields; + enabled on; + functionObjectLibs ( "libutilityFunctionObjects.so" ); + outputControl outputTime; + } + fieldAverage1 + { + type fieldAverage; + functionObjectLibs ( "libfieldFunctionObjects.so" ); + outputControl outputTime; + resetOnOutput off; + fields + ( + rhoN + { + mean on; + prime2Mean off; + base time; + } + rhoM + { + mean on; + prime2Mean off; + base time; + } + dsmcRhoN + { + mean on; + prime2Mean off; + base time; + } + momentum + { + mean on; + prime2Mean off; + base time; + } + linearKE + { + mean on; + prime2Mean off; + base time; + } + internalE + { + mean on; + prime2Mean off; + base time; + } + iDof + { + mean on; + prime2Mean off; + base time; + } + q + { + mean on; + prime2Mean off; + base time; + } + fD + { + mean on; + prime2Mean off; + base time; + } + ); + } +); + + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/decomposeParDict b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/decomposeParDict new file mode 100644 index 0000000000000000000000000000000000000000..77c30529ecfb004319a85c5dc2d05bbfe32dff38 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/decomposeParDict @@ -0,0 +1,50 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method simple; + +simpleCoeffs +{ + n ( 1 2 2 ); + delta 0.001; +} + +hierarchicalCoeffs +{ + n ( 1 1 1 ); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + processorWeights ( 1 1 1 1 ); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots ( ); + + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/dsmcInitialiseDict b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/dsmcInitialiseDict new file mode 100644 index 0000000000000000000000000000000000000000..c8ec236aa69ea5d841b4f00f73246960c6916ea4 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/dsmcInitialiseDict @@ -0,0 +1,29 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object dsmcInitialiseDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberDensities +{ + N2 0.777e20; + O2 0.223e20; +}; + +temperature 300; + +velocity (1950 0 0); + + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/fvSchemes b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/fvSchemes new file mode 100644 index 0000000000000000000000000000000000000000..42fda7921ca0a70a5b1f415666f49d4d07befb7b --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/fvSchemes @@ -0,0 +1,54 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default none; +} + +gradSchemes +{ + default none; +} + +divSchemes +{ + default none; +} + +laplacianSchemes +{ + default none; +} + +interpolationSchemes +{ + default none; +} + +snGradSchemes +{ + default none; +} + +fluxRequired +{ + default no; +} + + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/fvSolution b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/fvSolution new file mode 100644 index 0000000000000000000000000000000000000000..1e39435250fcc6c21b5ca292d31d085533ce9716 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/fvSolution @@ -0,0 +1,22 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/0/boundaryT b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/boundaryT new file mode 100644 index 0000000000000000000000000000000000000000..6bc3a516f0d2f1aa48d409cbbf8395422c840b64 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/boundaryT @@ -0,0 +1,42 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object boundaryT; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 1 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + outlet + { + type fixedValue; + value uniform 300; + } + + inlet + { + type fixedValue; + value uniform 300; + } + + sides + { + type fixedValue; + value uniform 300; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/0/boundaryU b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/boundaryU new file mode 100644 index 0000000000000000000000000000000000000000..6da36fb365e6c59359906b491672040021b098f2 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/boundaryU @@ -0,0 +1,42 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object boundaryU; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + outlet + { + type fixedValue; + value uniform (1325 -352 823); + } + + inlet + { + type fixedValue; + value uniform (1325 -352 823); + } + + sides + { + type fixedValue; + value uniform (1325 -352 823); + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/0/dsmcRhoN b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/dsmcRhoN new file mode 100644 index 0000000000000000000000000000000000000000..022a5f973f6fbf7720f1aae69f889c7fd3a8b3f3 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/dsmcRhoN @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object dsmcRhoN; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 -3 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + outlet + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + sides + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/0/fD b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/fD new file mode 100644 index 0000000000000000000000000000000000000000..e2da50d9a45e5de9309a2ab4e5aefda91f48ec0e --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/fD @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object fD; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + outlet + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + sides + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/0/iDof b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/iDof new file mode 100644 index 0000000000000000000000000000000000000000..00ba74788aca028e4a424fa1f60a183e4fb7922a --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/iDof @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object iDof; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 -3 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + outlet + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + sides + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/0/internalE b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/internalE new file mode 100644 index 0000000000000000000000000000000000000000..4408c91430ae071b500cfdcd489c4c950b74ae2e --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/internalE @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object internalE; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + outlet + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + sides + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/0/interpolaterhoN b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/interpolaterhoN new file mode 100644 index 0000000000000000000000000000000000000000..a9fe596c4337a79927b0a77ef635a72b11a79173 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/interpolaterhoN @@ -0,0 +1,42 @@ +/*--------------------------------*- 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 surfaceScalarField; + location "0"; + object interpolaterhoN; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 -3 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + outlet + { + type calculated; + value uniform 0; + } + inlet + { + type calculated; + value uniform 0; + } + sides + { + type calculated; + value uniform 0; + } +} + + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/0/linearKE b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/linearKE new file mode 100644 index 0000000000000000000000000000000000000000..691ab915aeee75db15d2e7eb5c8b546aa2983bed --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/linearKE @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object linearKE; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + outlet + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + sides + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/0/momentum b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/momentum new file mode 100644 index 0000000000000000000000000000000000000000..a3e4a449ae32749d72ad412447dc2d5c0226fdea --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/momentum @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object momentum; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -2 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + outlet + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + sides + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/0/q b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/q new file mode 100644 index 0000000000000000000000000000000000000000..5b4fcc23bf75d0e65697c6f3db845ec42d411051 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/q @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object q; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 0 -3 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + outlet + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + sides + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/0/rhoM b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/rhoM new file mode 100644 index 0000000000000000000000000000000000000000..9f2443cdbb2b856fbdece7a849f5e29fb1e3c714 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/rhoM @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object rhoM; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -3 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + outlet + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + sides + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/0/rhoN b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/rhoN new file mode 100644 index 0000000000000000000000000000000000000000..e99d2742a3098a506fbe4fcda5f7e18c271f629e --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/rhoN @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object rhoN; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 -3 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + outlet + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + sides + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/Allclean b/tutorials/discreteMethods/dsmc/freeSpaceStream/Allclean new file mode 100755 index 0000000000000000000000000000000000000000..1cc972be26a9fa8c309f14c3c0d52659e62d236c --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/Allclean @@ -0,0 +1,7 @@ +#!/bin/sh + +# Source tutorial clean functions +. $WM_PROJECT_DIR/bin/tools/CleanFunctions + +cleanCase +rm -rf 0/lagrangian 0/dsmcSigmaTcRMax diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/Allrun b/tutorials/discreteMethods/dsmc/freeSpaceStream/Allrun new file mode 100755 index 0000000000000000000000000000000000000000..3c61ac798ec54d2bf1f7f6c8799de3e396ab53c9 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/Allrun @@ -0,0 +1,7 @@ +#!/bin/sh +# Source tutorial run functions +. $WM_PROJECT_DIR/bin/tools/RunFunctions + +runApplication blockMesh +runApplication dsmcInitialise +runApplication dsmcFoam diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/constant/dsmcProperties b/tutorials/discreteMethods/dsmc/freeSpaceStream/constant/dsmcProperties new file mode 100644 index 0000000000000000000000000000000000000000..d4d67559c117cf4a092f48a2ecd424509a0d0914 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/constant/dsmcProperties @@ -0,0 +1,87 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object dsmcProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +// General Properties +// ~~~~~~~~~~~~~~~~~~ + +nEquivalentParticles 1e12; + + +// Wall Interaction Model +// ~~~~~~~~~~~~~~~~~~~~~~ + +WallInteractionModel MaxwellianThermal; + +MaxwellianThermalCoeffs {} + + +// Binary Collision Model +// ~~~~~~~~~~~~~~~~~~~~~~ + +BinaryCollisionModel LarsenBorgnakkeVariableHardSphere; + +LarsenBorgnakkeVariableHardSphereCoeffs +{ + Tref 273; + relaxationCollisionNumber 5.0; +} + + +// Inflow Boundary Model +// ~~~~~~~~~~~~~~~~~~~~~ + +InflowBoundaryModel FreeStream; + +FreeStreamCoeffs +{ + numberDensities + { + N2 0.777e20; + O2 0.223e20; + }; +} + + +// Molecular species +// ~~~~~~~~~~~~~~~~~ + +typeIdList (N2 O2); + +moleculeProperties +{ + N2 + { + mass 46.5e-27; + diameter 4.17e-10; + internalDegreesOfFreedom 2; + viscosityCoefficient 1.656e-5; + omega 0.74; + } + + O2 + { + mass 53.12e-27; + diameter 4.07e-10; + internalDegreesOfFreedom 2; + viscosityCoefficient 1.919e-5; + omega 0.77; + } +} + + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/constant/polyMesh/blockMeshDict b/tutorials/discreteMethods/dsmc/freeSpaceStream/constant/polyMesh/blockMeshDict new file mode 100644 index 0000000000000000000000000000000000000000..9343042c3890e0751d912f76edea446f84d70c30 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/constant/polyMesh/blockMeshDict @@ -0,0 +1,73 @@ +/*---------------------------------------------------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.3 | +| \\ / A nd | Web: http://www.openfoam.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + + root ""; + case ""; + instance ""; + local ""; + + class dictionary; + object blockMeshDict; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 0.01; + +vertices +( + (-5 -4 -4) + (5 -4 -4) + (5 4 -4) + (-5 4 -4) + (-5 -4 4) + (5 -4 4) + (5 4 4) + (-5 4 4) +); + +blocks +( + hex (0 1 2 3 4 5 6 7) (20 16 16) simpleGrading (1 1 1) +); + +patches +( + patch + outlet + ( + (1 2 6 5) + ) + + patch + inlet + ( + (0 4 7 3) + ) + + patch + sides + ( + (2 3 7 6) + (0 1 5 4) + (4 5 6 7) + (0 3 2 1) + ) +) + +mergePatchPairs +( +); + + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/constant/polyMesh/boundary b/tutorials/discreteMethods/dsmc/freeSpaceStream/constant/polyMesh/boundary new file mode 100644 index 0000000000000000000000000000000000000000..502b052a7ffd8630ceb3b449f005aecee7c05edc --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/constant/polyMesh/boundary @@ -0,0 +1,40 @@ +/*--------------------------------*- 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 polyBoundaryMesh; + location "constant/polyMesh"; + object boundary; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +3 +( + outlet + { + type patch; + nFaces 256; + startFace 14464; + } + inlet + { + type patch; + nFaces 256; + startFace 14720; + } + sides + { + type patch; + nFaces 1280; + startFace 14976; + } +) + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/system/controlDict b/tutorials/discreteMethods/dsmc/freeSpaceStream/system/controlDict new file mode 100644 index 0000000000000000000000000000000000000000..f123a030860f2fd7374e5e6f19af066031e68cc5 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/system/controlDict @@ -0,0 +1,124 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +startFrom startTime; + +startTime 0; + +stopAt endTime; + +endTime 2e-2; + +deltaT 1e-6; + +writeControl runTime; + +writeInterval 1e-3; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 10; + +writeCompression uncompressed; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +adjustTimeStep no; + +functions +( + dsmcFields1 + { + type dsmcFields; + enabled on; + functionObjectLibs ( "libutilityFunctionObjects.so" ); + outputControl outputTime; + } + fieldAverage1 + { + type fieldAverage; + functionObjectLibs ( "libfieldFunctionObjects.so" ); + outputControl outputTime; + resetOnOutput off; + fields + ( + rhoN + { + mean on; + prime2Mean off; + base time; + } + rhoM + { + mean on; + prime2Mean off; + base time; + } + dsmcRhoN + { + mean on; + prime2Mean off; + base time; + } + momentum + { + mean on; + prime2Mean off; + base time; + } + linearKE + { + mean on; + prime2Mean off; + base time; + } + internalE + { + mean on; + prime2Mean off; + base time; + } + iDof + { + mean on; + prime2Mean off; + base time; + } + q + { + mean on; + prime2Mean off; + base time; + } + fD + { + mean on; + prime2Mean off; + base time; + } + ); + } +); + + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/system/decomposeParDict b/tutorials/discreteMethods/dsmc/freeSpaceStream/system/decomposeParDict new file mode 100644 index 0000000000000000000000000000000000000000..77c30529ecfb004319a85c5dc2d05bbfe32dff38 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/system/decomposeParDict @@ -0,0 +1,50 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method simple; + +simpleCoeffs +{ + n ( 1 2 2 ); + delta 0.001; +} + +hierarchicalCoeffs +{ + n ( 1 1 1 ); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + processorWeights ( 1 1 1 1 ); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots ( ); + + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/system/dsmcInitialiseDict b/tutorials/discreteMethods/dsmc/freeSpaceStream/system/dsmcInitialiseDict new file mode 100644 index 0000000000000000000000000000000000000000..b5cc93423253ea73ac94aaedd58c300082a08d71 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/system/dsmcInitialiseDict @@ -0,0 +1,29 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object dsmcInitialiseDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberDensities +{ + N2 0.777e20; + O2 0.223e20; +}; + +temperature 300; + +velocity (1325 -352 823); + + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/system/fvSchemes b/tutorials/discreteMethods/dsmc/freeSpaceStream/system/fvSchemes new file mode 100644 index 0000000000000000000000000000000000000000..42fda7921ca0a70a5b1f415666f49d4d07befb7b --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/system/fvSchemes @@ -0,0 +1,54 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default none; +} + +gradSchemes +{ + default none; +} + +divSchemes +{ + default none; +} + +laplacianSchemes +{ + default none; +} + +interpolationSchemes +{ + default none; +} + +snGradSchemes +{ + default none; +} + +fluxRequired +{ + default no; +} + + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/system/fvSolution b/tutorials/discreteMethods/dsmc/freeSpaceStream/system/fvSolution new file mode 100644 index 0000000000000000000000000000000000000000..1e39435250fcc6c21b5ca292d31d085533ce9716 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/system/fvSolution @@ -0,0 +1,22 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/0/boundaryT b/tutorials/discreteMethods/dsmc/supersonicCorner/0/boundaryT new file mode 100644 index 0000000000000000000000000000000000000000..7b7fbd9188e6f8cd4052203c687de78be8ece6f1 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/supersonicCorner/0/boundaryT @@ -0,0 +1,41 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object boundaryT; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 1 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + flow + { + type fixedValue; + value uniform 300; + } + + entrance + { + type symmetryPlane; + } + + walls + { + type fixedValue; + value uniform 1000; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/0/boundaryU b/tutorials/discreteMethods/dsmc/supersonicCorner/0/boundaryU new file mode 100644 index 0000000000000000000000000000000000000000..1c21f7372c5f4c4b1312995046cd9aa9cf1aa419 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/supersonicCorner/0/boundaryU @@ -0,0 +1,41 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object boundaryU; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + flow + { + type fixedValue; + value uniform (1936 0 0); + } + + entrance + { + type symmetryPlane; + } + + walls + { + type fixedValue; + value uniform (0 0 0); + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/0/dsmcRhoN b/tutorials/discreteMethods/dsmc/supersonicCorner/0/dsmcRhoN new file mode 100644 index 0000000000000000000000000000000000000000..21d83f0b9f634e8cd24cb80fb1978327759087bb --- /dev/null +++ b/tutorials/discreteMethods/dsmc/supersonicCorner/0/dsmcRhoN @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object dsmcRhoN; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 -3 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + flow + { + type zeroGradient; + } + + entrance + { + type symmetryPlane; + } + + walls + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/0/fD b/tutorials/discreteMethods/dsmc/supersonicCorner/0/fD new file mode 100644 index 0000000000000000000000000000000000000000..ae1df5d0114e5e2e3639632a9f3d220c660c9b76 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/supersonicCorner/0/fD @@ -0,0 +1,41 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object fD; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + flow + { + type calculated; + value uniform (0 0 0); + } + + entrance + { + type symmetryPlane; + } + + walls + { + type calculated; + value uniform (0 0 0); + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/0/iDof b/tutorials/discreteMethods/dsmc/supersonicCorner/0/iDof new file mode 100644 index 0000000000000000000000000000000000000000..50c9624edd4051c04e53a804ba33d1b93865c261 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/supersonicCorner/0/iDof @@ -0,0 +1,40 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object iDof; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 -3 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + flow + { + type zeroGradient; + } + + entrance + { + type symmetryPlane; + } + + walls + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/0/internalE b/tutorials/discreteMethods/dsmc/supersonicCorner/0/internalE new file mode 100644 index 0000000000000000000000000000000000000000..51f1e04d8b3755fbbd6fc067b8420bf7034304ef --- /dev/null +++ b/tutorials/discreteMethods/dsmc/supersonicCorner/0/internalE @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object internalE; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + flow + { + type zeroGradient; + } + + entrance + { + type symmetryPlane; + } + + walls + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/0/linearKE b/tutorials/discreteMethods/dsmc/supersonicCorner/0/linearKE new file mode 100644 index 0000000000000000000000000000000000000000..765956b135c36edd515b971b9967569b27ddfc14 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/supersonicCorner/0/linearKE @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object linearKE; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + flow + { + type zeroGradient; + } + + entrance + { + type symmetryPlane; + } + + walls + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/0/momentum b/tutorials/discreteMethods/dsmc/supersonicCorner/0/momentum new file mode 100644 index 0000000000000000000000000000000000000000..1899e2e7c665f50bdf5694b385a34b439df38da3 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/supersonicCorner/0/momentum @@ -0,0 +1,40 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object momentum; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -2 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + flow + { + type zeroGradient; + } + + entrance + { + type symmetryPlane; + } + + walls + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/0/q b/tutorials/discreteMethods/dsmc/supersonicCorner/0/q new file mode 100644 index 0000000000000000000000000000000000000000..51c1b8cdec3797bdbb05cae3b736935810cc240c --- /dev/null +++ b/tutorials/discreteMethods/dsmc/supersonicCorner/0/q @@ -0,0 +1,42 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object q; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 0 -3 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + flow + { + type calculated; + value uniform 0; + + } + + entrance + { + type symmetryPlane; + } + + walls + { + type calculated; + value uniform 0; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/0/rhoM b/tutorials/discreteMethods/dsmc/supersonicCorner/0/rhoM new file mode 100644 index 0000000000000000000000000000000000000000..7f2d427a479cecad93dfb5de554c0a83c1b1d6d5 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/supersonicCorner/0/rhoM @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object rhoM; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -3 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + flow + { + type zeroGradient; + } + + entrance + { + type symmetryPlane; + } + + walls + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/0/rhoN b/tutorials/discreteMethods/dsmc/supersonicCorner/0/rhoN new file mode 100644 index 0000000000000000000000000000000000000000..98ffe8ca1e723aa85a7f493d783fa1b2b0bb8d1e --- /dev/null +++ b/tutorials/discreteMethods/dsmc/supersonicCorner/0/rhoN @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object rhoN; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 -3 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + flow + { + type zeroGradient; + } + + entrance + { + type symmetryPlane; + } + + walls + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/Allclean b/tutorials/discreteMethods/dsmc/supersonicCorner/Allclean new file mode 100755 index 0000000000000000000000000000000000000000..5622060c8ee23c89d8743d2217de1c3b7381e6b0 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/supersonicCorner/Allclean @@ -0,0 +1,9 @@ +#!/bin/sh + +# Source tutorial clean functions +. $WM_PROJECT_DIR/bin/tools/CleanFunctions + +cleanCase +rm -rf 0/lagrangian 0/dsmcSigmaTcRMax +rm -rf processor* +rm -f system/machines \ No newline at end of file diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/Allrun b/tutorials/discreteMethods/dsmc/supersonicCorner/Allrun new file mode 100755 index 0000000000000000000000000000000000000000..402135df749b6f380b1c870897e27c053918afb4 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/supersonicCorner/Allrun @@ -0,0 +1,11 @@ +#!/bin/sh +# Source tutorial run functions +. $WM_PROJECT_DIR/bin/tools/RunFunctions + +runApplication blockMesh +runApplication decomposePar +runParallel dsmcInitialise 4 system/machines +hostname > system/machines +runParallel dsmcFoam 4 system/machines +runApplication reconstructPar -noLagrangian + diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/constant/dsmcProperties b/tutorials/discreteMethods/dsmc/supersonicCorner/constant/dsmcProperties new file mode 100644 index 0000000000000000000000000000000000000000..2d950a4814d564bd56c7afc883ae2e1d1f652c75 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/supersonicCorner/constant/dsmcProperties @@ -0,0 +1,88 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object dsmcProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +// General Properties +// ~~~~~~~~~~~~~~~~~~ + +nEquivalentParticles 1.2e12; + + +// Wall Interaction Model +// ~~~~~~~~~~~~~~~~~~~~~~ + +//WallInteractionModel SpecularReflection; +WallInteractionModel MaxwellianThermal; + +SpecularReflectionCoeffs {} + +MaxwellianThermalCoeffs {} + + +// Binary Collision Model +// ~~~~~~~~~~~~~~~~~~~~~~ + +//BinaryCollisionModel VariableHardSphere; +BinaryCollisionModel LarsenBorgnakkeVariableHardSphere; + +VariableHardSphereCoeffs +{ + Tref 273; +} + +LarsenBorgnakkeVariableHardSphereCoeffs +{ + Tref 273; + relaxationCollisionNumber 5.0; +} + + +// Inflow Boundary Model +// ~~~~~~~~~~~~~~~~~~~~~ + +InflowBoundaryModel FreeStream; +//InflowBoundaryModel NoInflow; + +NoInflowCoeffs {} + +FreeStreamCoeffs +{ + numberDensities + { + Ar 1.0e20; + }; +} + + +// Molecular species +// ~~~~~~~~~~~~~~~~~ + +typeIdList (Ar); + +moleculeProperties +{ + Ar + { + mass 66.3e-27; + diameter 4.17e-10; + internalDegreesOfFreedom 0; + viscosityCoefficient 2.117e-5; + omega 0.81; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/constant/polyMesh/blockMeshDict b/tutorials/discreteMethods/dsmc/supersonicCorner/constant/polyMesh/blockMeshDict new file mode 100644 index 0000000000000000000000000000000000000000..6b9aa389277a491baea403d7ee5e16a4a3add664 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/supersonicCorner/constant/polyMesh/blockMeshDict @@ -0,0 +1,83 @@ +/*---------------------------------------------------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.3 | +| \\ / A nd | Web: http://www.openfoam.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + + root ""; + case ""; + instance ""; + local ""; + + class dictionary; + object blockMeshDict; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 0.01; + +vertices +( + (0 0 0) + (5 0 0) + (5 18 0) + (0 18 0) + (0 0 18) + (5 0 18) + (5 18 18) + (0 18 18) + (30 0 0) + (30 18 0) + (30 0 18) + (30 18 18) + +); + +blocks +( + hex (0 1 2 3 4 5 6 7) (10 36 36) simpleGrading (1 1 1) + hex (1 8 9 2 5 10 11 6) (50 36 36) simpleGrading (1 1 1) +); + +patches +( + patch + flow + ( + (8 9 11 10) + (0 4 7 3) + (2 3 7 6) + (2 6 11 9) + (4 5 6 7) + (5 10 11 6) + ) + + symmetryPlane + entrance + ( + (0 1 5 4) + (0 3 2 1) + ) + + wall + walls + ( + (1 8 10 5) + (1 2 9 8) + ) +) + +mergePatchPairs +( +); + + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/constant/polyMesh/boundary b/tutorials/discreteMethods/dsmc/supersonicCorner/constant/polyMesh/boundary new file mode 100644 index 0000000000000000000000000000000000000000..87ffe1fea34bf9faaf2139d0208b367378d4cb50 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/supersonicCorner/constant/polyMesh/boundary @@ -0,0 +1,40 @@ +/*--------------------------------*- 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 polyBoundaryMesh; + location "constant/polyMesh"; + object boundary; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +3 +( + flow + { + type patch; + nFaces 6912; + startFace 227664; + } + entrance + { + type symmetryPlane; + nFaces 720; + startFace 234576; + } + walls + { + type wall; + nFaces 3600; + startFace 235296; + } +) + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/system/controlDict b/tutorials/discreteMethods/dsmc/supersonicCorner/system/controlDict new file mode 100644 index 0000000000000000000000000000000000000000..2e92a436f3be2f2352abd09dc95034e42ea55867 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/supersonicCorner/system/controlDict @@ -0,0 +1,124 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +startFrom startTime; + +startTime 0; + +stopAt endTime; + +endTime 0.025; + +deltaT 1e-6; + +writeControl runTime; + +writeInterval 1e-3; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 10; + +writeCompression uncompressed; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +adjustTimeStep no; + +functions +( + dsmcFields1 + { + type dsmcFields; + enabled on; + functionObjectLibs ( "libutilityFunctionObjects.so" ); + outputControl outputTime; + } + fieldAverage1 + { + type fieldAverage; + functionObjectLibs ( "libfieldFunctionObjects.so" ); + outputControl outputTime; + resetOnOutput off; + fields + ( + rhoN + { + mean on; + prime2Mean off; + base time; + } + rhoM + { + mean on; + prime2Mean off; + base time; + } + dsmcRhoN + { + mean on; + prime2Mean off; + base time; + } + momentum + { + mean on; + prime2Mean off; + base time; + } + linearKE + { + mean on; + prime2Mean off; + base time; + } + internalE + { + mean on; + prime2Mean off; + base time; + } + iDof + { + mean on; + prime2Mean off; + base time; + } + q + { + mean on; + prime2Mean off; + base time; + } + fD + { + mean on; + prime2Mean off; + base time; + } + ); + } +); + + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/system/decomposeParDict b/tutorials/discreteMethods/dsmc/supersonicCorner/system/decomposeParDict new file mode 100644 index 0000000000000000000000000000000000000000..bf8dffb737c91db0646cde4bd56a4fd0629c82b9 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/supersonicCorner/system/decomposeParDict @@ -0,0 +1,50 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method simple; + +simpleCoeffs +{ + n ( 2 2 1 ); + delta 0.001; +} + +hierarchicalCoeffs +{ + n ( 1 1 1 ); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + processorWeights ( 1 1 1 1 ); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots ( ); + + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/system/dsmcInitialiseDict b/tutorials/discreteMethods/dsmc/supersonicCorner/system/dsmcInitialiseDict new file mode 100644 index 0000000000000000000000000000000000000000..54774bfb88a21b624a707ea455139fa86b4d834a --- /dev/null +++ b/tutorials/discreteMethods/dsmc/supersonicCorner/system/dsmcInitialiseDict @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object dsmcInitialiseDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberDensities +{ + Ar 1.0e20; +}; + +temperature 300; + +velocity (1936 0 0); + + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/system/fvSchemes b/tutorials/discreteMethods/dsmc/supersonicCorner/system/fvSchemes new file mode 100644 index 0000000000000000000000000000000000000000..42fda7921ca0a70a5b1f415666f49d4d07befb7b --- /dev/null +++ b/tutorials/discreteMethods/dsmc/supersonicCorner/system/fvSchemes @@ -0,0 +1,54 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default none; +} + +gradSchemes +{ + default none; +} + +divSchemes +{ + default none; +} + +laplacianSchemes +{ + default none; +} + +interpolationSchemes +{ + default none; +} + +snGradSchemes +{ + default none; +} + +fluxRequired +{ + default no; +} + + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/system/fvSolution b/tutorials/discreteMethods/dsmc/supersonicCorner/system/fvSolution new file mode 100644 index 0000000000000000000000000000000000000000..1e39435250fcc6c21b5ca292d31d085533ce9716 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/supersonicCorner/system/fvSolution @@ -0,0 +1,22 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/0/boundaryT b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/boundaryT new file mode 100644 index 0000000000000000000000000000000000000000..7aa7905710a606e8e72678e02d59887826ff8690 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/boundaryT @@ -0,0 +1,42 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object boundaryT; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 1 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + flow + { + type fixedValue; + value uniform 300; + } + + obstacle + { + type fixedValue; + value uniform 550; + } + + periodic + { + type cyclic; + } +} + +// ************************************************************************* // + diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/0/boundaryU b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/boundaryU new file mode 100644 index 0000000000000000000000000000000000000000..dfa4801d7000be60ae30e5df7eae230669c6c674 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/boundaryU @@ -0,0 +1,41 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object boundaryU; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + flow + { + type fixedValue; + value uniform (1736 0 0); + } + + obstacle + { + type fixedValue; + value uniform (0 0 0); + } + + periodic + { + type cyclic; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/0/dsmcRhoN b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/dsmcRhoN new file mode 100644 index 0000000000000000000000000000000000000000..aa3f432f46e752d9fa2c5dfb6fa48acae998d595 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/dsmcRhoN @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object dsmcRhoN; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 -3 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + flow + { + type zeroGradient; + } + + obstacle + { + type zeroGradient; + } + + periodic + { + type cyclic; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/0/fD b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/fD new file mode 100644 index 0000000000000000000000000000000000000000..85d8c061d08d0fcb845b785396bc62df0d9ef1eb --- /dev/null +++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/fD @@ -0,0 +1,40 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object fD; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + flow + { + type zeroGradient; + } + + obstacle + { + type calculated; + value uniform (0 0 0); + } + + periodic + { + type cyclic; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/0/iDof b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/iDof new file mode 100644 index 0000000000000000000000000000000000000000..542b42e13ad3ccab8803ed830c00a5a20eb98433 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/iDof @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object iDof; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 -3 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + flow + { + type zeroGradient; + } + + obstacle + { + type zeroGradient; + } + + periodic + { + type cyclic; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/0/internalE b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/internalE new file mode 100644 index 0000000000000000000000000000000000000000..496e5afd331f009db8322ad39797d198181ff3d4 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/internalE @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object internalE; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + flow + { + type zeroGradient; + } + + obstacle + { + type zeroGradient; + } + + periodic + { + type cyclic; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/0/linearKE b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/linearKE new file mode 100644 index 0000000000000000000000000000000000000000..c52708ab4d2410adf5713f509dba421d66384afc --- /dev/null +++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/linearKE @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object linearKE; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + flow + { + type zeroGradient; + } + + obstacle + { + type zeroGradient; + } + + periodic + { + type cyclic; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/0/momentum b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/momentum new file mode 100644 index 0000000000000000000000000000000000000000..338ace9965dcaa4a102273cafa2d7efa1417978f --- /dev/null +++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/momentum @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object momentum; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -2 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + flow + { + type zeroGradient; + } + + obstacle + { + type zeroGradient; + } + + periodic + { + type cyclic; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/0/q b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/q new file mode 100644 index 0000000000000000000000000000000000000000..6e2a7fd4511edcf27b0d919741eebcd79d6798e8 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/q @@ -0,0 +1,40 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object q; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 0 -3 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + flow + { + type zeroGradient; + } + + obstacle + { + type calculated; + value uniform 0; + } + + periodic + { + type cyclic; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/0/rhoM b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/rhoM new file mode 100644 index 0000000000000000000000000000000000000000..2ab4a148b1b27cf318081d080f622353c4e1967c --- /dev/null +++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/rhoM @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object rhoM; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -3 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + flow + { + type zeroGradient; + } + + obstacle + { + type zeroGradient; + } + + periodic + { + type cyclic; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/0/rhoN b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/rhoN new file mode 100644 index 0000000000000000000000000000000000000000..fa576a150c96e545742e6196b0eac499584fbd96 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/rhoN @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object rhoN; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 -3 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + flow + { + type zeroGradient; + } + + obstacle + { + type zeroGradient; + } + + periodic + { + type cyclic; + } +} + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/Allclean b/tutorials/discreteMethods/dsmc/wedge15Ma5/Allclean new file mode 100755 index 0000000000000000000000000000000000000000..a81bd945995ae2476d7d49837ef74e909c5053c9 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/Allclean @@ -0,0 +1,10 @@ +#!/bin/sh + +# Source tutorial clean functions +. $WM_PROJECT_DIR/bin/tools/CleanFunctions + +cleanCase +rm -rf 0/lagrangian 0/dsmcSigmaTcRMax +rm -rf processor* +rm -rf forces1 +rm -f system/machines \ No newline at end of file diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/Allrun b/tutorials/discreteMethods/dsmc/wedge15Ma5/Allrun new file mode 100755 index 0000000000000000000000000000000000000000..402135df749b6f380b1c870897e27c053918afb4 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/Allrun @@ -0,0 +1,11 @@ +#!/bin/sh +# Source tutorial run functions +. $WM_PROJECT_DIR/bin/tools/RunFunctions + +runApplication blockMesh +runApplication decomposePar +runParallel dsmcInitialise 4 system/machines +hostname > system/machines +runParallel dsmcFoam 4 system/machines +runApplication reconstructPar -noLagrangian + diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/constant/dsmcProperties b/tutorials/discreteMethods/dsmc/wedge15Ma5/constant/dsmcProperties new file mode 100644 index 0000000000000000000000000000000000000000..bd07689d19a53dcc80bd34dc6b13499797c5378b --- /dev/null +++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/constant/dsmcProperties @@ -0,0 +1,89 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object dsmcProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +// General Properties +// ~~~~~~~~~~~~~~~~~~ + +nEquivalentParticles 5e12; + + +// Wall Interaction Model +// ~~~~~~~~~~~~~~~~~~~~~~ + +WallInteractionModel MaxwellianThermal; + +MaxwellianThermalCoeffs {} + + +// Binary Collision Model +// ~~~~~~~~~~~~~~~~~~~~~~ + +BinaryCollisionModel LarsenBorgnakkeVariableHardSphere; + +LarsenBorgnakkeVariableHardSphereCoeffs +{ + Tref 273; + relaxationCollisionNumber 5.0; +} + + +// Inflow Boundary Model +// ~~~~~~~~~~~~~~~~~~~~~ + +InflowBoundaryModel FreeStream; + +NoInflowCoeffs {} + +FreeStreamCoeffs +{ + numberDensities + { + N2 0.777e20; + O2 0.223e20; + }; +} + + +// Molecular species +// ~~~~~~~~~~~~~~~~~ + +typeIdList (N2 O2); + +moleculeProperties +{ + N2 + { + mass 46.5e-27; + diameter 4.17e-10; + internalDegreesOfFreedom 2; + viscosityCoefficient 1.656e-5; + omega 0.74; + } + + O2 + { + mass 53.12e-27; + diameter 4.07e-10; + internalDegreesOfFreedom 2; + viscosityCoefficient 1.919e-5; + omega 0.77; + } +} + + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/constant/polyMesh/blockMeshDict b/tutorials/discreteMethods/dsmc/wedge15Ma5/constant/polyMesh/blockMeshDict new file mode 100644 index 0000000000000000000000000000000000000000..858a5357faec9992f7284e4e55ee3a8fd874d742 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/constant/polyMesh/blockMeshDict @@ -0,0 +1,74 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1; + +vertices +( + (-0.15242 0 -0.05) + ( 0 0 -0.05) + ( 0.3048 0.081670913853 -0.05) + (-0.15242 0.3 -0.05) + ( 0 0.3 -0.05) + ( 0.3048 0.3 -0.05) + + (-0.15242 0 0.05) + ( 0 0 0.05) + ( 0.3048 0.081670913853 0.05) + (-0.15242 0.3 0.05) + ( 0 0.3 0.05) + ( 0.3048 0.3 0.05) + +); + +blocks +( + hex (0 1 4 3 6 7 10 9 ) (20 40 12) simpleGrading (1 1 1) + hex (1 2 5 4 7 8 11 10) (40 40 12) simpleGrading (1 1 1) +); + +edges +( +); + +patches +( + patch flow + ( + (0 6 9 3) + (2 5 11 8) + (0 1 7 6) + (3 9 10 4) + (4 10 11 5) + ) + wall obstacle + ( + (1 2 8 7) + ) + cyclic periodic + ( + (0 3 4 1) + (1 4 5 2) + (6 7 10 9) + (7 8 11 10) + ) +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/constant/polyMesh/boundary b/tutorials/discreteMethods/dsmc/wedge15Ma5/constant/polyMesh/boundary new file mode 100644 index 0000000000000000000000000000000000000000..5c089fb5b2b5fc9bf41e975d323a588a8c50291d --- /dev/null +++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/constant/polyMesh/boundary @@ -0,0 +1,41 @@ +/*--------------------------------*- 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 polyBoundaryMesh; + location "constant/polyMesh"; + object boundary; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +3 +( + flow + { + type patch; + nFaces 1920; + startFace 82800; + } + obstacle + { + type wall; + nFaces 480; + startFace 84720; + } + periodic + { + type cyclic; + nFaces 4800; + startFace 85200; + featureCos 0.9; + } +) + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/system/controlDict b/tutorials/discreteMethods/dsmc/wedge15Ma5/system/controlDict new file mode 100644 index 0000000000000000000000000000000000000000..b069a968567e38b9d2b079d3a33ee3621256362e --- /dev/null +++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/system/controlDict @@ -0,0 +1,139 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 0.00125; +// endTime 0.01; + +deltaT 2e-6; + +writeControl runTime; + +writeInterval 1e-4; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 10; + +writeCompression uncompressed; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +adjustTimeStep no; + +functions +( + dsmcFields1 + { + type dsmcFields; + enabled on; + functionObjectLibs ( "libutilityFunctionObjects.so" ); + outputControl outputTime; + } + + fieldAverage1 + { + type fieldAverage; + functionObjectLibs ( "libfieldFunctionObjects.so" ); + outputControl outputTime; + resetOnOutput off; + fields + ( + rhoN + { + mean on; + prime2Mean off; + base time; + } + rhoM + { + mean on; + prime2Mean off; + base time; + } + dsmcRhoN + { + mean on; + prime2Mean off; + base time; + } + momentum + { + mean on; + prime2Mean off; + base time; + } + linearKE + { + mean on; + prime2Mean off; + base time; + } + internalE + { + mean on; + prime2Mean off; + base time; + } + iDof + { + mean on; + prime2Mean off; + base time; + } + q + { + mean on; + prime2Mean off; + base time; + } + fD + { + mean on; + prime2Mean off; + base time; + } + ); + } + + forces1 + { + type forces; + enabled on; + functionObjectLibs ( "libforces.so" ); + outputControl outputTime; + patches ( obstacle ); + directForceDensity true; + fDName fDMean; + CofR ( 0 0 0 ); + log on; + } +); + + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/system/decomposeParDict b/tutorials/discreteMethods/dsmc/wedge15Ma5/system/decomposeParDict new file mode 100644 index 0000000000000000000000000000000000000000..a533085b04aff6c998b4ad26efe83d5d65920e43 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/system/decomposeParDict @@ -0,0 +1,50 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method simple; + +simpleCoeffs +{ + n ( 1 1 4 ); + delta 0.001; +} + +hierarchicalCoeffs +{ + n ( 1 1 1 ); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + processorWeights ( 1 1 1 1 ); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots ( ); + + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/system/dsmcInitialiseDict b/tutorials/discreteMethods/dsmc/wedge15Ma5/system/dsmcInitialiseDict new file mode 100644 index 0000000000000000000000000000000000000000..118c809b6f1cc8122ed391a2808a4eb984b4d836 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/system/dsmcInitialiseDict @@ -0,0 +1,29 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object dsmcInitialiseDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberDensities +{ + N2 0.777e20; + O2 0.223e20; +}; + +temperature 300; + +velocity (1736 0 0); + + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/system/fvSchemes b/tutorials/discreteMethods/dsmc/wedge15Ma5/system/fvSchemes new file mode 100644 index 0000000000000000000000000000000000000000..42fda7921ca0a70a5b1f415666f49d4d07befb7b --- /dev/null +++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/system/fvSchemes @@ -0,0 +1,54 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default none; +} + +gradSchemes +{ + default none; +} + +divSchemes +{ + default none; +} + +laplacianSchemes +{ + default none; +} + +interpolationSchemes +{ + default none; +} + +snGradSchemes +{ + default none; +} + +fluxRequired +{ + default no; +} + + +// ************************************************************************* // diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/system/fvSolution b/tutorials/discreteMethods/dsmc/wedge15Ma5/system/fvSolution new file mode 100644 index 0000000000000000000000000000000000000000..1e39435250fcc6c21b5ca292d31d085533ce9716 --- /dev/null +++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/system/fvSolution @@ -0,0 +1,22 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ +} + +// ************************************************************************* //