copied from preCICE tutorials

This commit is contained in:
jakob.schratter 2026-01-26 16:14:46 +01:00
commit 3f1b1a6d0f
68 changed files with 156449 additions and 0 deletions

49
fluid-openfoam/0/T Normal file
View file

@ -0,0 +1,49 @@
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object T;
}
dimensions [ 0 0 0 1 0 0 0 ];
internalField uniform 300;
boundaryField
{
interface
{
type fixedGradient;
gradient uniform 0;
}
inlet
{
type fixedValue;
value $internalField;
}
outlet
{
type zeroGradient;
}
top
{
type zeroGradient;
}
bottom
{
type zeroGradient;
}
slip-bottom
{
type zeroGradient;
}
outerWall
{
type zeroGradient;
}
defaultFaces
{
type empty;
}
}

44
fluid-openfoam/0/U Normal file
View file

@ -0,0 +1,44 @@
FoamFile
{
version 2.0;
format ascii;
class volVectorField;
object U;
}
dimensions [ 0 1 -1 0 0 0 0 ];
internalField uniform ( 0.1 0 0 );
boundaryField
{
interface
{
type noSlip;
}
inlet
{
type fixedValue;
value $internalField;
}
outlet
{
type zeroGradient;
}
top
{
type slip;
}
bottom
{
type noSlip;
}
slip-bottom
{
type slip;
}
defaultFaces
{
type empty;
}
}

49
fluid-openfoam/0/alphat Normal file
View file

@ -0,0 +1,49 @@
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object alphat;
}
dimensions [ 1 -1 -1 0 0 0 0 ];
internalField uniform 0;
boundaryField
{
interface
{
type compressible::alphatWallFunction;
value uniform 0;
}
inlet
{
type compressible::alphatWallFunction;
value uniform 0;
}
outlet
{
type compressible::alphatWallFunction;
value uniform 0;
}
top
{
type compressible::alphatWallFunction;
value uniform 0;
}
bottom
{
type compressible::alphatWallFunction;
value uniform 0;
}
slip-bottom
{
type compressible::alphatWallFunction;
value uniform 0;
}
defaultFaces
{
type empty;
}
}

49
fluid-openfoam/0/epsilon Normal file
View file

@ -0,0 +1,49 @@
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object epsilon;
}
dimensions [ 0 2 -3 0 0 0 0 ];
internalField uniform 0.01;
boundaryField
{
interface
{
type epsilonWallFunction;
value uniform 0.01;
}
inlet
{
type epsilonWallFunction;
value uniform 0.01;
}
outlet
{
type epsilonWallFunction;
value uniform 0.01;
}
top
{
type epsilonWallFunction;
value uniform 0.01;
}
bottom
{
type epsilonWallFunction;
value uniform 0.01;
}
slip-bottom
{
type epsilonWallFunction;
value uniform 0.01;
}
defaultFaces
{
type empty;
}
}

49
fluid-openfoam/0/k Normal file
View file

@ -0,0 +1,49 @@
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object k;
}
dimensions [ 0 2 -2 0 0 0 0 ];
internalField uniform 0.1;
boundaryField
{
interface
{
type kqRWallFunction;
value uniform 0.1;
}
inlet
{
type kqRWallFunction;
value uniform 0.1;
}
outlet
{
type kqRWallFunction;
value uniform 0.1;
}
top
{
type kqRWallFunction;
value uniform 0.1;
}
slip-bottom
{
type kqRWallFunction;
value uniform 0.1;
}
bottom
{
type kqRWallFunction;
value uniform 0.1;
}
defaultFaces
{
type empty;
}
}

49
fluid-openfoam/0/nut Normal file
View file

@ -0,0 +1,49 @@
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object nut;
}
dimensions [ 0 2 -1 0 0 0 0 ];
internalField uniform 0;
boundaryField
{
interface
{
type nutkWallFunction;
value uniform 0;
}
inlet
{
type nutkWallFunction;
value uniform 0;
}
outlet
{
type nutkWallFunction;
value uniform 0;
}
top
{
type nutkWallFunction;
value uniform 0;
}
bottom
{
type nutkWallFunction;
value uniform 0;
}
slip-bottom
{
type nutkWallFunction;
value uniform 0;
}
defaultFaces
{
type empty;
}
}

54
fluid-openfoam/0/p Normal file
View file

@ -0,0 +1,54 @@
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object p;
}
dimensions [ 1 -1 -2 0 0 0 0 ];
internalField uniform 103500;
boundaryField
{
interface
{
type calculated;
value $internalField;
}
inlet
{
type calculated;
value $internalField;
}
outlet
{
type calculated;
value $internalField;
}
outerWall
{
type calculated;
value $internalField;
}
top
{
type calculated;
value $internalField;
}
bottom
{
type calculated;
value $internalField;
}
slip-bottom
{
type calculated;
value $internalField;
}
defaultFaces
{
type empty;
}
}

44
fluid-openfoam/0/p_rgh Normal file
View file

@ -0,0 +1,44 @@
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object p_rgh;
}
dimensions [ 1 -1 -2 0 0 0 0 ];
internalField uniform 103500;
boundaryField
{
interface
{
type zeroGradient;
}
inlet
{
type zeroGradient;
}
outlet
{
type fixedValue;
value $internalField;
}
top
{
type zeroGradient;
}
slip-bottom
{
type zeroGradient;
}
bottom
{
type zeroGradient;
}
defaultFaces
{
type empty;
}
}

6
fluid-openfoam/clean.sh Executable file
View file

@ -0,0 +1,6 @@
#!/bin/sh
set -e -u
. ../../tools/cleaning-tools.sh
clean_openfoam .

10
fluid-openfoam/constant/g Normal file
View file

@ -0,0 +1,10 @@
FoamFile
{
version 2.0;
format ascii;
class uniformDimensionedVectorField;
object g;
}
dimensions [0 1 -2 0 0 0 0];
value (0 -9.81 0);

View file

@ -0,0 +1,72 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2512 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
arch "LSB;label=32;scalar=64";
class polyBoundaryMesh;
location "constant/polyMesh";
object boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
7
(
inlet
{
type wall;
inGroups 1(wall);
nFaces 41;
startFace 23692;
}
outlet
{
type wall;
inGroups 1(wall);
nFaces 41;
startFace 23733;
}
top
{
type wall;
inGroups 1(wall);
nFaces 293;
startFace 23774;
}
slip-bottom
{
type wall;
inGroups 1(wall);
nFaces 81;
startFace 24067;
}
bottom
{
type wall;
inGroups 1(wall);
nFaces 51;
startFace 24148;
}
interface
{
type wall;
inGroups 1(wall);
nFaces 161;
startFace 24199;
}
defaultFaces
{
type empty;
inGroups 1(empty);
nFaces 24026;
startFace 24360;
}
)
// ************************************************************************* //

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,37 @@
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object thermophysicalProperties;
}
thermoType
{
type heRhoThermo;
mixture pureMixture;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;
}
mixture
{
specie
{
molWeight 24.0999;
}
thermodynamics
{
Cp 5000.0;
Hf 0;
}
transport
{
mu 0.0002;
Pr 0.01;
}
}

View file

@ -0,0 +1,9 @@
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object turbulenceProperties;
}
simulationType laminar;

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,101 @@
TimeWindow TotalIterations Iterations Convergence
1 4 4 1
2 8 4 1
3 12 4 1
4 16 4 1
5 20 4 1
6 24 4 1
7 27 3 1
8 29 2 1
9 31 2 1
10 33 2 1
11 35 2 1
12 37 2 1
13 39 2 1
14 41 2 1
15 43 2 1
16 45 2 1
17 47 2 1
18 49 2 1
19 51 2 1
20 53 2 1
21 55 2 1
22 57 2 1
23 59 2 1
24 61 2 1
25 63 2 1
26 65 2 1
27 67 2 1
28 69 2 1
29 71 2 1
30 73 2 1
31 75 2 1
32 77 2 1
33 79 2 1
34 81 2 1
35 83 2 1
36 85 2 1
37 87 2 1
38 89 2 1
39 91 2 1
40 93 2 1
41 95 2 1
42 97 2 1
43 99 2 1
44 101 2 1
45 103 2 1
46 105 2 1
47 107 2 1
48 109 2 1
49 111 2 1
50 113 2 1
51 115 2 1
52 117 2 1
53 119 2 1
54 121 2 1
55 123 2 1
56 125 2 1
57 127 2 1
58 129 2 1
59 131 2 1
60 133 2 1
61 135 2 1
62 137 2 1
63 139 2 1
64 141 2 1
65 143 2 1
66 145 2 1
67 147 2 1
68 149 2 1
69 151 2 1
70 153 2 1
71 155 2 1
72 157 2 1
73 159 2 1
74 161 2 1
75 163 2 1
76 165 2 1
77 167 2 1
78 169 2 1
79 171 2 1
80 173 2 1
81 175 2 1
82 177 2 1
83 179 2 1
84 181 2 1
85 183 2 1
86 185 2 1
87 187 2 1
88 189 2 1
89 191 2 1
90 193 2 1
91 195 2 1
92 197 2 1
93 199 2 1
94 201 2 1
95 203 2 1
96 205 2 1
97 207 2 1
98 209 2 1
99 211 2 1
100 213 2 1

File diff suppressed because it is too large Load diff

12
fluid-openfoam/run.sh Executable file
View file

@ -0,0 +1,12 @@
#!/bin/bash
set -e -u
. ../../tools/log.sh
exec > >(tee --append "$LOGFILE") 2>&1
blockMesh
../../tools/run-openfoam.sh "$@"
. ../../tools/openfoam-remove-empty-dirs.sh && openfoam_remove_empty_dirs
close_log

View file

@ -0,0 +1,101 @@
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
vertices
(
(0 0 0)
(1 0 0)
(1 .5 0)
(0 .5 0)
(0 0 .4)
(1 0 .4)
(1 .5 .4)
(0 .5 .4)
(3 0 0)
(3 .5 0)
(3 0 .4)
(3 .5 .4)
(-.5 0 0)
(-.5 .5 0)
(-.5 .5 .4)
(-.5 0 .4)
);
blocks
(
hex (12 0 3 13 15 4 7 14) (81 41 1) simpleGrading (.2 15 1)
hex (0 1 2 3 4 5 6 7) (161 41 1) simpleGrading (5 15 1)
hex (1 8 9 2 5 10 11 6) (51 41 1) simpleGrading (1 15 1)
);
boundary
(
inlet
{
type wall;
faces
(
(13 12 15 14)
);
}
outlet
{
type wall;
faces
(
(8 9 11 10)
);
}
top
{
type wall;
faces
(
(7 6 2 3)
(9 2 6 11)
(13 3 7 14)
);
}
slip-bottom
{
type wall;
faces
(
(15 12 0 4)
);
}
bottom
{
type wall;
faces
(
(1 8 10 5)
);
}
interface
{
type wall;
faces
(
(4 0 1 5)
);
}
);

View file

@ -0,0 +1,46 @@
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object controlDict;
}
application buoyantPimpleFoam;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 1;
deltaT 0.01;
writeControl runTime;
writeInterval 0.2;
purgeWrite 0;
writeFormat ascii;
writePrecision 6;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable false;
functions
{
preCICE_Adapter
{
type preciceAdapterFunctionObject;
libs ("libpreciceAdapterFunctionObject.so");
}
}

View file

@ -0,0 +1,16 @@
FoamFile {
version 2.0;
class dictionary;
object decomposeParDict;
format ascii;
}
numberOfSubdomains 2;
method simple;
simpleCoeffs
{
n (2 1 1);
delta 0.001;
}

View file

@ -0,0 +1,48 @@
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSchemes;
}
ddtSchemes
{
default Euler;
}
gradSchemes
{
default Gauss linear;
}
divSchemes
{
default none;
div(phi,U) Gauss upwind;
div(phi,h) Gauss upwind;
div(phi,e) Gauss upwind;
div(phi,k) Gauss upwind;
div(phi,epsilon) Gauss upwind;
div(phi,R) Gauss upwind;
div(phi,K) Gauss linear;
div(phi,Ekp) Gauss linear;
div(R) Gauss linear;
div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
}
laplacianSchemes
{
default Gauss linear corrected;
}
interpolationSchemes
{
default linear;
}
snGradSchemes
{
default corrected;
}

View file

@ -0,0 +1,55 @@
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSolution;
}
solvers
{
"rho.*"
{
solver PCG;
preconditioner DIC;
tolerance 0;
relTol 0;
}
p_rgh
{
solver PCG;
preconditioner DIC;
tolerance 1e-8;
relTol 0.01;
}
p_rghFinal
{
$p_rgh;
relTol 0;
}
"(U|h|e|k|epsilon|R)"
{
solver PBiCGStab;
preconditioner DILU;
tolerance 1e-6;
relTol 0.1;
}
"(U|h|e|k|epsilon|R)Final"
{
$U;
relTol 0;
}
}
PIMPLE
{
momentumPredictor yes;
nOuterCorrectors 1;
nCorrectors 2;
nNonOrthogonalCorrectors 0;
}

View file

@ -0,0 +1,33 @@
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object preciceDict;
}
preciceConfig "../precice-config.xml";
participant Fluid;
modules (CHT);
interfaces
{
Interface1
{
mesh Fluid-Mesh;
patches (interface);
readData
(
Heat-Flux
);
writeData
(
Temperature
);
};
};