Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added docs/source/solvers/2D_evolving_jet_0.1ms.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/source/solvers/Computational_domain.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
40 changes: 40 additions & 0 deletions docs/source/solvers/dfLowMachFoam.rst
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,47 @@ The developed 2D HIT are displayed in the figures below.
Vuorinen, Ville, and K. Keskinen. "DNSLab: A gateway to turbulent flow simulation in Matlab." Computer Physics Communications 203 (2016): 278-289.


Two-Dimensional temporally evolving jet flame
----------------------------------------------------------

**Problem Description**

2D planar temporally evolving jet flame is simulated here. Turbulent plane jets are prototypical free shear flows on which fundamental research can expand the overall understanding of turbulent flows. Here, we develope a two-dimensional temporally evolving turbulent jet, with considering transport and mixing processes of scalars in turbulent shear flows.

The domain is initially filled with unburnt CH4/air mixture at the region where 7.5 mm < y < 8.5 mm and burnt gas CO2/H2O/N2 elsewhere. To initialize turbulent shear flow, the internal velocity field is generated from a jet flow simulation with turbulence generator.

.. list-table:: Operating Conditions in Brief
:widths: 40 40
:header-rows: 0

* - Computational Domain size (x)
- 16 mm * 16 mm
* - Initial Gas Temperature
- 900 K (unburnt gas), 2500 K (burnt gas)

The figure below shows the computation domain and initial conditions.

.. figure:: Computational_domain.png
:width: 500
:align: center

Computational domain and initial conditions

**Output**

The temporally evolving jet flame are displayed in the figures below.

.. figure:: 2D_evolving_jet_0.1ms.png
:width: 500
:align: center

Contours of temperature and Qdot at t = 0.1 ms

**Reference**

M.Saito, J. Xing, J. Nagao, R. Kurose. "Data-driven simulation of ammonia combustion using neural ordinary differential equations (NODE)." Applications in Energy and Combustion Science (2023): 100196.


Three-Dimensional Reactive Taylor-Green Vortex
---------------------------------------------------

Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
9 changes: 9 additions & 0 deletions examples/dfLowMachFoam/twoD_temporally_evolving_jet/Allclean
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory

echo "Cleaning log.*"
rm log.*
echo "Cleaning processor*"
rm -r processor*
echo "Cleaning polyMesh/"
rm -r constant/polyMesh
11 changes: 11 additions & 0 deletions examples/dfLowMachFoam/twoD_temporally_evolving_jet/Allrun
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory

# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions

application=dfLowMachFoam

runApplication blockMesh
runApplication decomposePar
runApplication mpirun -np 4 --allow-run-as-root $application -parallel
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: 7
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object CanteraTorchProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

chemistry on;

CanteraMechanismFile "drm19.yaml";

transportModel "Mix";

odeCoeffs
{
"relTol" 1e-6;
"absTol" 1e-10;
}

inertSpecie "N2";

splittingStrategy off;

TorchSettings
{
torch off;//on;
GPU on;
log on;
torchModel "";
coresPerNode 4;
}

loadbalancing
{
active true;
log false;
algorithm allAverage;//headTail;
}


// ************************************************************************* //
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: 7
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object combustionProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

combustionModel laminar;

// ************************************************************************* //
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.4.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

// ************************************************************************* //
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: 7
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object turbulenceProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

simulationType laminar;


// ************************************************************************* //
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: 7
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

convertToMeters 0.001;

vertices #codeStream
{
codeInclude
#{
#include "pointField.H"
#};

code
#{
pointField points(8);
points[0] = point(0, 0, -0.5);
points[1] = point(16, 0, -0.5);
points[2] = point(16, 7.5, -0.5);
points[3] = point(0, 7.5, -0.5);
points[4] = point(0, 8.5, -0.5);
points[5] = point(16, 8.5, -0.5);
points[6] = point(16, 16, -0.5);
points[7] = point(0, 16, -0.5);

// Duplicate z points
label sz = points.size();
points.setSize(2*sz);
for (label i = 0; i < sz; i++)
{
const point& pt = points[i];
points[i+sz] = point(pt.x(), pt.y(), -pt.z());
}

os << points;
#};
};

blocks
(
hex (0 1 2 3 8 9 10 11) (800 250 1)
simpleGrading
(
1
(
(0.6 0.4 0.25)
(0.4 0.6 1)
)
1
)
hex (3 2 5 4 11 10 13 12) (800 50 1) simpleGrading (1 1 1)
hex (4 5 6 7 12 13 14 15) (800 250 1)
simpleGrading
(
1
(
(0.4 0.6 1)
(0.6 0.4 4)
)
1
)
);

edges
(
);

boundary
(
left
{
type cyclic;
neighbourPatch right;
faces
(
(0 3 11 8)
(3 4 12 11)
(4 7 15 12)
);
}
right
{
type cyclic;
neighbourPatch left;
faces
(
(1 2 10 9)
(2 5 13 10)
(5 6 14 13)
);
}
top
{
type patch;
faces
(
(7 6 14 15)
);
}
down
{
type patch;
faces
(
(0 1 9 8)
);
}
);

// mergePatchPairs
// (
// );

// ************************************************************************* //
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: 7
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

application dfLowMachFoam;

startFrom latestTime;

startTime 0;

stopAt endTime;

endTime 1.0e-4;

deltaT 1e-9;

writeControl adjustableRunTime;

writeInterval 1e-5;

purgeWrite 0;

writeFormat ascii;

// writePrecision 6;

writeCompression on;

timeFormat general;

timePrecision 6;

runTimeModifiable true;

adjustTimeStep yes;

maxCo 0.5;

maxDeltaT 1e-4;


// ************************************************************************* //
Loading