Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Development
openfoam
Commits
b325cb86
Commit
b325cb86
authored
Jun 29, 2020
by
Andrew Heather
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
TUT: added mixerVesselAMI2DRefined to show example of AMI with topology change
parent
2ba62438
Changes
36
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
36 changed files
with
3292 additions
and
0 deletions
+3292
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/0/U
...inar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/0/U
+60
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/0/epsilon
...ixerVesselAMI2D/mixerVesselAMI2D-topologyChange/0/epsilon
+62
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/0/k
...inar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/0/k
+62
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/0/nut
...ar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/0/nut
+62
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/0/p
...inar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/0/p
+56
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/Allrun
...r/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/Allrun
+12
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/README
...r/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/README
+11
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/constant/dynamicMeshDict
.../mixerVesselAMI2D-topologyChange/constant/dynamicMeshDict
+31
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/constant/transportProperties
...erVesselAMI2D-topologyChange/constant/transportProperties
+23
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/constant/triSurface/projectionSurface.stl
...-topologyChange/constant/triSurface/projectionSurface.stl
+0
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/constant/turbulenceProperties
...rVesselAMI2D-topologyChange/constant/turbulenceProperties
+21
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/makeMesh
...mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/makeMesh
+11
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/plot
...nar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/plot
+5
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/system/blockMeshDict.m4
...D/mixerVesselAMI2D-topologyChange/system/blockMeshDict.m4
+1214
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/system/controlDict
...lAMI2D/mixerVesselAMI2D-topologyChange/system/controlDict
+108
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/system/decomposeParDict
...D/mixerVesselAMI2D-topologyChange/system/decomposeParDict
+30
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/system/fvSchemes
...selAMI2D/mixerVesselAMI2D-topologyChange/system/fvSchemes
+54
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/system/fvSolution
...elAMI2D/mixerVesselAMI2D-topologyChange/system/fvSolution
+89
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/system/topoSetDict
...lAMI2D/mixerVesselAMI2D-topologyChange/system/topoSetDict
+35
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D/0/U
.../pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D/0/U
+0
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D/0/epsilon
...eFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D/0/epsilon
+0
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D/0/k
.../pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D/0/k
+0
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D/0/nut
...impleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D/0/nut
+0
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D/0/p
.../pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D/0/p
+0
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D/Allrun
...mpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D/Allrun
+0
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D/constant/dynamicMeshDict
...ixerVesselAMI2D/mixerVesselAMI2D/constant/dynamicMeshDict
+0
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D/constant/transportProperties
...VesselAMI2D/mixerVesselAMI2D/constant/transportProperties
+0
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D/constant/triSurface/projectionSurface.stl
...ixerVesselAMI2D/constant/triSurface/projectionSurface.stl
+1346
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D/constant/turbulenceProperties
...esselAMI2D/mixerVesselAMI2D/constant/turbulenceProperties
+0
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D/makeMesh
...leFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D/makeMesh
+0
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D/system/blockMeshDict.m4
...mixerVesselAMI2D/mixerVesselAMI2D/system/blockMeshDict.m4
+0
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D/system/controlDict
...inar/mixerVesselAMI2D/mixerVesselAMI2D/system/controlDict
+0
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D/system/decomposeParDict
...mixerVesselAMI2D/mixerVesselAMI2D/system/decomposeParDict
+0
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D/system/fvSchemes
...aminar/mixerVesselAMI2D/mixerVesselAMI2D/system/fvSchemes
+0
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D/system/fvSolution
...minar/mixerVesselAMI2D/mixerVesselAMI2D/system/fvSolution
+0
-0
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D/system/topoSetDict
...inar/mixerVesselAMI2D/mixerVesselAMI2D/system/topoSetDict
+0
-0
No files found.
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/0/U
0 → 100755
View file @
b325cb86
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2006 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volVectorField;
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform (0 0 0);
boundaryField
{
rotor
{
type movingWallVelocity;
value uniform (0 0 0);
}
stator
{
type movingWallVelocity;
value uniform (0 0 0);
}
front
{
type movingWallVelocity;
value uniform (0 0 0);
}
back
{
type movingWallVelocity;
value uniform (0 0 0);
}
AMI1
{
type cyclicAMI;
value $internalField;
}
AMI2
{
type cyclicAMI;
value $internalField;
}
}
// ************************************************************************* //
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/0/epsilon
0 → 100755
View file @
b325cb86
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2006 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object epsilon;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -3 0 0 0 0];
internalField uniform 20;
boundaryField
{
rotor
{
type epsilonWallFunction;
value $internalField;
}
stator
{
type epsilonWallFunction;
value $internalField;
}
front
{
type epsilonWallFunction;
value $internalField;
}
back
{
type epsilonWallFunction;
value $internalField;
}
AMI1
{
type cyclicAMI;
value $internalField;
}
AMI2
{
type cyclicAMI;
value $internalField;
}
}
// ************************************************************************* //
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/0/k
0 → 100755
View file @
b325cb86
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2006 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object k;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
internalField uniform 1;
boundaryField
{
rotor
{
type kqRWallFunction;
value uniform 0;
}
stator
{
type kqRWallFunction;
value uniform 0;
}
front
{
type kqRWallFunction;
value uniform 0;
}
back
{
type kqRWallFunction;
value uniform 0;
}
AMI1
{
type cyclicAMI;
value $internalField;
}
AMI2
{
type cyclicAMI;
value $internalField;
}
}
// ************************************************************************* //
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/0/nut
0 → 100755
View file @
b325cb86
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2006 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object nut;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -1 0 0 0 0];
internalField uniform 0;
boundaryField
{
rotor
{
type nutkWallFunction;
value uniform 0;
}
stator
{
type nutkWallFunction;
value uniform 0;
}
front
{
type nutkWallFunction;
value uniform 0;
}
back
{
type nutkWallFunction;
value uniform 0;
}
AMI1
{
type cyclicAMI;
value $internalField;
}
AMI2
{
type cyclicAMI;
value $internalField;
}
}
// ************************************************************************* //
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/0/p
0 → 100755
View file @
b325cb86
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2006 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
internalField uniform 0;
boundaryField
{
rotor
{
type zeroGradient;
}
stator
{
type zeroGradient;
}
front
{
type zeroGradient;
}
back
{
type zeroGradient;
}
AMI1
{
type cyclicAMI;
value $internalField;
}
AMI2
{
type cyclicAMI;
value $internalField;
}
}
// ************************************************************************* //
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/Allrun
0 → 100755
View file @
b325cb86
#!/bin/sh
cd
${
0
%/*
}
||
exit
1
# Run from this directory
.
$WM_PROJECT_DIR
/bin/tools/RunFunctions
# Tutorial run functions
./makeMesh
#runApplication $(getApplication)
runApplication decomposePar
runParallel
$(
getApplication
)
runParallel redistributePar
-reconstruct
#------------------------------------------------------------------------------
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/README
0 → 100644
View file @
b325cb86
Refined version that includes wall layers.
- this causes significant pressure spikes using the default AMI
dynamicFvMesh dynamicMotionSolverFvMesh;
- enabling topology change where a 1-to-1 connectivity is established across
the AMI leads to a much smoother pressure trace. Ony change needed is to the
motion solver:
dynamicFvMesh dynamicMotionSolverFvMeshAMI;
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/constant/dynamicMeshDict
0 → 100755
View file @
b325cb86
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2006 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object dynamicMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dynamicFvMesh dynamicMotionSolverFvMeshAMI;
//dynamicFvMesh dynamicMotionSolverFvMesh;
motionSolver solidBody;
cellZone rotor;
solidBodyMotionFunction rotatingMotion;
origin (0 0 0);
axis (0 0 1);
omega 6.2832; // rad/s
// ************************************************************************* //
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/constant/transportProperties
0 → 100755
View file @
b325cb86
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2006 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object transportProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
transportModel Newtonian;
nu 1e-05;
// ************************************************************************* //
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/constant/triSurface/projectionSurface.stl
→
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/
mixerVesselAMI2D-topologyChange/
constant/triSurface/projectionSurface.stl
100644 → 100755
View file @
b325cb86
File moved
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/constant/turbulenceProperties
0 → 100755
View file @
b325cb86
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2006 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object turbulenceProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
simulationType laminar;
// ************************************************************************* //
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/makeMesh
0 → 100755
View file @
b325cb86
#!/bin/sh
cd
${
0
%/*
}
||
exit
1
# Run from this directory
.
$WM_PROJECT_DIR
/bin/tools/RunFunctions
# Tutorial run functions
m4 < system/blockMeshDict.m4
>
system/blockMeshDict
runApplication blockMesh
runApplication topoSet
#------------------------------------------------------------------------------
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/plot
0 → 100755
View file @
b325cb86
set terminal pngcairo
set output "plot.png"
set yrange [-0.001 : 0.001]
plot "postProcessing/forces/0/moment.dat" u 1:4 w lines
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/system/blockMeshDict.m4
0 → 100755
View file @
b325cb86
This diff is collapsed.
Click to expand it.
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/system/controlDict
0 → 100755
View file @
b325cb86
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2006 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application pimpleFoam;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 0.2; // 5;
deltaT 1e-3;
writeControl adjustableRunTime;
writeInterval 0.1;
purgeWrite 0;
writeFormat ascii;
writePrecision 6;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable true;
adjustTimeStep yes;
maxCo 0.5;
functions
{
AMI1
{
type surfaceFieldValue;
functionObjectLibs ("libfieldFunctionObjects.so");
log true;
executeControl timeStep;
executeInterval 1;
writeFields true;
regionType patch;
name AMI1;
operation sum;
surfaceFormat none;
fields (phi);
}
AMI2
{
type surfaceFieldValue;
functionObjectLibs ("libfieldFunctionObjects.so");
log true;
executeControl timeStep;
executeInterval 1;
writeFields true;
regionType patch;
name AMI2;
operation sum;
surfaceFormat none;
fields (phi);
}
forces
{
type forces;
functionObjectLibs ( "libforces.so" );
outputControl timeStep;
timeInterval 1;
log yes;
patches ( "rotor" );
pName p;
UName U;
rho rhoInf; // Indicates incompressible
log true;
rhoInf 997; // Redundant for incompressible
CofR (0 0 0); // Rotation around centre line of propeller
pitchAxis (0 0 1);
}
}
// ************************************************************************* //
tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/system/decomposeParDict
0 → 100755
View file @
b325cb86
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2006 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
//- Force AMI to be on single processor. Can cause imbalance with some
// decomposers.
//singleProcessorFaceSets ((AMI -1));
numberOfSubdomains 4;
method scotch;
distributed no;
roots ( );