Merge branch 'tutorial-review.kbc' into 'develop'

TUT: cleanup compressible tutorials

See merge request Development/openfoam!337
This commit is contained in:
Andrew Heather
2020-01-29 12:42:39 +00:00
108 changed files with 343 additions and 67068 deletions

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -60,7 +61,7 @@ int main(int argc, char *argv[])
if (!args.check()) if (!args.check())
{ {
FatalError.exit(); FatalError.exit();
} }
#include "createTime.H" #include "createTime.H"
@ -87,23 +88,23 @@ int main(int argc, char *argv[])
Istring >> block; Istring >> block;
Istring >> jPoints; Istring >> jPoints;
Info<< "Number of vertices in i direction = " << iPoints << endl Info<< "Number of vertices in i direction = " << iPoints << nl
<< "Number of vertices in j direction = " << jPoints << endl; << "Number of vertices in j direction = " << jPoints << endl;
// We ignore the first layer of points in i and j the biconic meshes // We ignore the first layer of points in i and j the biconic meshes
label nPointsij = (iPoints - 1)*(jPoints - 1); const label nPointsij = (iPoints - 1)*(jPoints - 1);
pointField points(nPointsij, Zero); pointField points(nPointsij, Zero);
for (direction comp = 0; comp < 2; comp++) for (direction comp = 0; comp < 2; ++comp)
{ {
label p(0); label p = 0;
for (label j = 0; j < jPoints; j++) for (label j = 0; j < jPoints; ++j)
{ {
for (label i = 0; i < iPoints; i++) for (label i = 0; i < iPoints; ++i)
{ {
double coord; scalar coord;
plot3dFile >> coord; plot3dFile >> coord;
// if statement ignores the first layer in i and j // if statement ignores the first layer in i and j
@ -126,31 +127,37 @@ int main(int argc, char *argv[])
pointField pointsWedge(nPointsij*2, Zero); pointField pointsWedge(nPointsij*2, Zero);
fileName pointsFile(runTime.constantPath()/"points.tmp");
OFstream pFile(pointsFile);
const scalar a = degToRad(0.1); const scalar a = degToRad(0.1);
tensor rotateZ = const tensor rotateZ
tensor (
( 1.0, 0.0, 0.0,
1.0, 0.0, 0.0, 0.0, 1.0, 0.0,
0.0, 1.0, 0.0, 0.0, -::sin(a), ::cos(a)
0.0, -::sin(a), ::cos(a) );
);
forAll(points, i) forAll(points, i)
{ {
pointsWedge[i] = (rotateZ & points[i]); pointsWedge[i] = (rotateZ & points[i]);
pointsWedge[i+nPointsij] = cmptMultiply pointsWedge[i + nPointsij] =
( cmptMultiply
vector(1.0, 1.0, -1.0), (
pointsWedge[i] vector(1.0, 1.0, -1.0),
); pointsWedge[i]
);
} }
const fileName polyMeshPath(runTime.constantPath()/"polyMesh");
const fileName pointsFile(polyMeshPath/"points");
OFstream pFile(pointsFile);
if (!exists(polyMeshPath)) mkDir(polyMeshPath);
Info<< "Writing points to: " << nl Info<< "Writing points to: " << nl
<< " " << pointsFile << endl; << " " << pointsFile << endl;
runTime.writeHeader(pFile, "vectorField");
pFile << pointsWedge; pFile << pointsWedge;
runTime.writeEndDivider(pFile);
Info<< "End" << endl; Info<< "End" << endl;

View File

@ -32,6 +32,7 @@ boundaryField
type fixedValue; type fixedValue;
value uniform 400; value uniform 400;
} }
overset overset
{ {
type overset; type overset;

View File

@ -34,16 +34,17 @@ boundaryField
value uniform (0 0 0); value uniform (0 0 0);
} }
outlet outlet
{ {
type uniformFixedValue; type uniformFixedValue;
uniformValue (0 0 0); uniformValue (0 0 0);
} }
inlet
{ inlet
type uniformFixedValue; {
uniformValue (0 0 0); type uniformFixedValue;
} uniformValue (0 0 0);
}
overset overset
{ {

View File

@ -14,7 +14,6 @@ FoamFile
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [ 0 2 -3 0 0 0 0 ]; dimensions [ 0 2 -3 0 0 0 0 ];
internalField uniform 0.1; internalField uniform 0.1;
@ -33,7 +32,6 @@ boundaryField
type epsilonWallFunction; type epsilonWallFunction;
value $internalField; value $internalField;
} }
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -26,6 +26,7 @@ boundaryField
{ {
type zeroGradient; type zeroGradient;
} }
overset overset
{ {
type overset; type overset;

View File

@ -1,41 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v1912 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class pointVectorField;
object pointDisplacement;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 0 0 0 0 0];
internalField uniform (0 0 0);
boundaryField
{
".*"
{
type uniformFixedValue;
uniformValue (0 0 0);
}
hole
{
type zeroGradient;
}
overset
{
patchType overset;
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -1,5 +1,7 @@
#!/bin/sh #!/bin/sh
cd "${0%/*}" || exit # Run from this directory cd "${0%/*}" || exit # Run from this directory
. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions
#------------------------------------------------------------------------------
# An extruded mesh around cylinder # An extruded mesh around cylinder
(cd cylinderAndBackground && ./Allclean) (cd cylinderAndBackground && ./Allclean)

View File

@ -10,7 +10,6 @@ FoamFile
version 2.0; version 2.0;
format ascii; format ascii;
class volScalarField; class volScalarField;
location "0";
object alphat; object alphat;
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -29,6 +28,7 @@ boundaryField
Prt 0.85; Prt 0.85;
value uniform 0; value uniform 0;
} }
".*" ".*"
{ {
type calculated; type calculated;
@ -36,5 +36,4 @@ boundaryField
} }
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -1,15 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v1912 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
inlet
{
type fixedValue;
value $internalField;
}
// ************************************************************************* //

View File

@ -11,6 +11,5 @@ pressure 1e5;
temperature 300; temperature 300;
turbulentEpsilon 10; turbulentEpsilon 10;
turbulentKE 1; turbulentKE 1;
#inputMode merge
// ************************************************************************* // // ************************************************************************* //

View File

@ -28,15 +28,18 @@ boundaryField
{ {
type zeroGradient; type zeroGradient;
} }
inlet inlet
{ {
type zeroGradient; type zeroGradient;
} }
outlet outlet
{ {
type fixedValue; type fixedValue;
value $internalField; value $internalField;
} }
topAndBottom topAndBottom
{ {
type zeroGradient; type zeroGradient;

View File

@ -5,7 +5,6 @@ cd "${0%/*}" || exit # Run from this directory
./Allrun.pre ./Allrun.pre
# Run it for a bit
runApplication $(getApplication) runApplication $(getApplication)
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------

View File

@ -10,6 +10,7 @@ FoamFile
version 2.0; version 2.0;
format ascii; format ascii;
class dictionary; class dictionary;
location "constant";
object dynamicMeshDict; object dynamicMeshDict;
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -10,30 +10,14 @@ FoamFile
version 2.0; version 2.0;
format ascii; format ascii;
class dictionary; class dictionary;
location "constant";
object transportProperties; object transportProperties;
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
DT DT [ 0 2 -1 0 0 0 0 ] 1; //4e-05; DT 1;
transportModel Newtonian; nu 1e-03;
nu nu [ 0 2 -1 0 0 0 0 ] 1e-03;
CrossPowerLawCoeffs
{
nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06;
nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06;
m m [ 0 0 1 0 0 0 0 ] 1;
n n [ 0 0 0 0 0 0 0 ] 1;
}
BirdCarreauCoeffs
{
nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06;
nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06;
k k [ 0 0 1 0 0 0 0 ] 0;
n n [ 0 0 0 0 0 0 0 ] 1;
}
// ************************************************************************* // // ************************************************************************* //

View File

@ -10,7 +10,7 @@ FoamFile
version 2.0; version 2.0;
format ascii; format ascii;
class dictionary; class dictionary;
note "mesh decomposition control dictionary"; location "system";
object decomposeParDict; object decomposeParDict;
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -35,9 +35,7 @@ divSchemes
div(phi,h) bounded Gauss upwind; div(phi,h) bounded Gauss upwind;
div(phi,epsilon) bounded Gauss upwind; div(phi,epsilon) bounded Gauss upwind;
div(phi,k) bounded Gauss upwind; div(phi,k) bounded Gauss upwind;
div(phi,Ekp) bounded Gauss upwind; div(phi,Ekp) bounded Gauss upwind;
div(phi,K) bounded Gauss upwind; div(phi,K) bounded Gauss upwind;
} }

View File

@ -54,9 +54,7 @@ SIMPLE
p 1e-3; p 1e-3;
U 1e-4; U 1e-4;
e 1e-3; e 1e-3;
"(k|epsilon)" 1e-3;
// possibly check turbulence fields
"(k|epsilon|omega)" 1e-3;
} }
} }

View File

@ -10,6 +10,7 @@ FoamFile
version 2.0; version 2.0;
format ascii; format ascii;
class dictionary; class dictionary;
location "system";
object setFieldsDict; object setFieldsDict;
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -10,6 +10,7 @@ FoamFile
version 2.0; version 2.0;
format ascii; format ascii;
class dictionary; class dictionary;
location "system";
object topoSetDict; object topoSetDict;
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -10,6 +10,7 @@ FoamFile
version 2.0; version 2.0;
format ascii; format ascii;
class dictionary; class dictionary;
location "system";
object createPatchDict; object createPatchDict;
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -78,7 +79,7 @@ patches
// If constructFrom = set : name of faceSet // If constructFrom = set : name of faceSet
set f0; set f0;
} }
); );
// ************************************************************************* // // ************************************************************************* //

View File

@ -1,58 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v1912 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
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 limitedLinearV 1;
div(phi,k) Gauss upwind;
div(phi,epsilon) Gauss upwind;
div(phi,R) Gauss upwind;
div(R) Gauss linear;
div(phid,p) Gauss limitedLinear 1;
div(phi,K) Gauss limitedLinear 1;
div(phi,e) Gauss limitedLinear 1;
div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
}
laplacianSchemes
{
default Gauss linear limited corrected 0.5;
}
interpolationSchemes
{
default linear;
}
snGradSchemes
{
default corrected;
}
// ************************************************************************* //

View File

@ -1,51 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v1912 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
p
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-12;
relTol 0;
}
rho
{
solver PCG;
preconditioner DIC;
tolerance 1e-08;
relTol 0;
}
"(U|e|k|epsilon|R)"
{
$p;
tolerance 1e-08;
relTol 0;
}
}
PISO
{
nCorrectors 2;
nNonOrthogonalCorrectors 2;
}
// ************************************************************************* //

View File

@ -25,28 +25,34 @@ boundaryField
type uniformFixedValue; type uniformFixedValue;
uniformValue constant 160; uniformValue constant 160;
} }
farFieldMoving farFieldMoving
{ {
type slip; type slip;
} }
fixedWall fixedWall
{ {
type uniformFixedValue; type uniformFixedValue;
uniformValue constant 0; uniformValue constant 0;
} }
left left
{ {
type uniformFixedValue; type uniformFixedValue;
uniformValue constant 0; uniformValue constant 0;
} }
farField farField
{ {
type slip; type slip;
} }
back back
{ {
type wedge; type wedge;
} }
front front
{ {
type wedge; type wedge;

View File

@ -31,7 +31,7 @@ writeControl adjustable;
writeInterval 5e-7; writeInterval 5e-7;
purgeWrite 0; purgeWrite 5;
writeFormat binary; writeFormat binary;

View File

@ -47,8 +47,15 @@ boundaryField
value uniform 297.0; value uniform 297.0;
} }
wedge1 {type wedge;} wedge1
wedge2 {type wedge;} {
type wedge;
}
wedge2
{
type wedge;
}
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -43,8 +43,15 @@ boundaryField
type noSlip; type noSlip;
} }
wedge1 {type wedge;} wedge1
wedge2 {type wedge;} {
type wedge;
}
wedge2
{
type wedge;
}
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -52,8 +52,15 @@ boundaryField
type zeroGradient; type zeroGradient;
} }
wedge1 {type wedge;} wedge1
wedge2 {type wedge;} {
type wedge;
}
wedge2
{
type wedge;
}
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -1,23 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v1912 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object mapFieldsDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
patchMap ( );
cuttingPatches ( );
// ************************************************************************* //

View File

@ -1,56 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v1912 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object sample;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
type sets;
libs (sampling);
interpolationScheme cellPointFace;
writeFormat raw;
sampleSets
(
face
{
name cone25;
axis x;
start (0 0 0);
end (0.09208087 0.042939 0);
nPoints 92;
}
face
{
name cone55;
axis x;
start (0.09208087 0.042939 0);
end (0.153683 0.13092 0);
nPoints 61;
}
face
{
name base;
axis x;
start (0.153683 0.13092 0);
end (0.193675 0.13092 0);
nPoints 40;
}
);
fields ( p wallHeatTransRate );
// ************************************************************************* //

View File

@ -5,5 +5,6 @@ cd "${0%/*}" || exit # Run from this directory
cleanCase cleanCase
cleanSamples cleanSamples
rm -rf 0/pointPriority
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------

View File

@ -4,17 +4,12 @@ cd "${0%/*}" || exit # Run from this directory
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
runApplication blockMesh runApplication blockMesh
runApplication datToFoam grid256.dat runApplication datToFoam grid256.dat
CONST="constant"
cat $CONST/pointsHeader $CONST/points.tmp > $CONST/polyMesh/points
runApplication collapseEdges -overwrite runApplication collapseEdges -overwrite
echo "Changing patch type to wedge type in boundary file" echo "Overwriting 'patch' type as 'wedge' type in 'boundary' dictionary"
mv $CONST/polyMesh/boundary $CONST/polyMesh/boundary.bak sed -if '/wedge1/,/nFaces/{s/patch/wedge/};/wedge2/,/nFaces/{s/patch/wedge/}'\
sed -f $CONST/wedgeScr $CONST/polyMesh/boundary.bak > $CONST/polyMesh/boundary constant/polyMesh/boundary
rm $CONST/polyMesh/boundary.bak
runApplication $(getApplication) runApplication $(getApplication)

View File

@ -1,14 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v1912 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class vectorField;
object points;
}

View File

@ -37,8 +37,26 @@ mixture
Tlow 100; Tlow 100;
Thigh 10000; Thigh 10000;
Tcommon 1000; Tcommon 1000;
highCpCoeffs ( 2.9525407 0.0013968838 -4.9262577e-07 7.8600091e-11 -4.6074978e-15 -923.93753 5.8718221 ); highCpCoeffs
lowCpCoeffs ( 3.5309628 -0.0001236595 -5.0299339e-07 2.4352768e-09 -1.4087954e-12 -1046.9637 2.9674391 ); (
2.9525407
0.0013968838
-4.9262577e-07
7.8600091e-11
-4.6074978e-15
-923.93753
5.8718221
);
lowCpCoeffs
(
3.5309628
-0.0001236595
-5.0299339e-07
2.4352768e-09
-1.4087954e-12
-1046.9637
2.9674391
);
} }
transport transport
{ {

View File

@ -1,6 +0,0 @@
/wedge1/,/nFaces/{
s/patch/wedge/
}
/wedge2/,/nFaces/{
s/patch/wedge/
}

View File

@ -31,7 +31,7 @@ writeControl adjustable;
writeInterval 5e-5; writeInterval 5e-5;
cycleWrite 0; purgeWrite 0;
writeFormat binary; writeFormat binary;

View File

@ -31,7 +31,7 @@ writeControl adjustable;
writeInterval 0.1; writeInterval 0.1;
purgeWrite 0; purgeWrite 10;
writeFormat ascii; writeFormat ascii;

View File

@ -4,6 +4,5 @@ cd "${0%/*}" || exit # Run from this directory
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
cleanCase0 cleanCase0
cleanSamples
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------

View File

@ -1,40 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v1912 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object sample;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
type sets;
libs (sampling);
interpolationScheme cellPoint;
setFormat raw;
sets
(
line
{
type face;
axis x;
start (-5 0 0);
end (5 0 0);
nPoints 100;
}
);
fields ( p U.component(0) T rho );
// ************************************************************************* //

View File

@ -15,9 +15,25 @@ FoamFile
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
defaultFieldValues ( volVectorFieldValue U (0 0 0) volScalarFieldValue T 348.432 volScalarFieldValue p 100000 ); defaultFieldValues
(
volVectorFieldValue U (0 0 0)
volScalarFieldValue T 348.432
volScalarFieldValue p 100000
);
regions ( boxToCell { box (0 -1 -1) (5 1 1) ; fieldValues ( volScalarFieldValue T 278.746 volScalarFieldValue p 10000 ) ; } ); regions
(
boxToCell
{
box (0 -1 -1) (5 1 1);
fieldValues
(
volScalarFieldValue T 278.746
volScalarFieldValue p 10000
);
}
);
// ************************************************************************* // // ************************************************************************* //

View File

@ -31,7 +31,7 @@ writeControl timeStep;
writeInterval 100; writeInterval 100;
purgeWrite 0; purgeWrite 10;
writeFormat ascii; writeFormat ascii;

View File

@ -14,9 +14,12 @@ FoamFile
object fvOptions; object fvOptions;
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
viscousDissipation viscousDissipation
{ {
type viscousDissipation; type viscousDissipation;
enabled true; enabled true;
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -55,7 +55,6 @@ boundaryField
// debugParser true; // debugParser true;
} }
outlet2 outlet2
{ {
type fixedValue; type fixedValue;

View File

@ -14,9 +14,12 @@ FoamFile
object fvOptions; object fvOptions;
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
viscousDissipation viscousDissipation
{ {
type viscousDissipation; type viscousDissipation;
enabled true; enabled true;
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -30,7 +30,7 @@ writeControl adjustable;
writeInterval 0.001; writeInterval 0.001;
purgeWrite 0; purgeWrite 10;
writeFormat ascii; writeFormat ascii;

View File

@ -20,19 +20,21 @@ internalField uniform 293;
boundaryField boundaryField
{ {
front front
{ {
type zeroGradient; type zeroGradient;
} }
back back
{ {
type zeroGradient; type zeroGradient;
} }
wall wall
{ {
type zeroGradient; type zeroGradient;
} }
porosityWall porosityWall
{ {
type zeroGradient; type zeroGradient;
@ -43,6 +45,7 @@ boundaryField
type fixedValue; type fixedValue;
value $internalField; value $internalField;
} }
outlet outlet
{ {
type inletOutlet; type inletOutlet;

View File

@ -24,25 +24,30 @@ boundaryField
{ {
type noSlip; type noSlip;
} }
back back
{ {
type noSlip; type noSlip;
} }
walls walls
{ {
type noSlip; type noSlip;
} }
porosityWall porosityWall
{ {
type slip; type slip;
value uniform (0 0 0); value uniform (0 0 0);
} }
inlet inlet
{ {
type flowRateInletVelocity; type flowRateInletVelocity;
massFlowRate constant 0.1; massFlowRate constant 0.1;
rhoInlet 1; // estimate for initial rho rhoInlet 1; // estimate for initial rho
} }
outlet outlet
{ {
type pressureInletOutletVelocity; type pressureInletOutletVelocity;

View File

@ -26,26 +26,31 @@ boundaryField
type compressible::alphatWallFunction; type compressible::alphatWallFunction;
value $internalField; value $internalField;
} }
back back
{ {
type compressible::alphatWallFunction; type compressible::alphatWallFunction;
value $internalField; value $internalField;
} }
walls walls
{ {
type compressible::alphatWallFunction; type compressible::alphatWallFunction;
value $internalField; value $internalField;
} }
porosityWall porosityWall
{ {
type compressible::alphatWallFunction; type compressible::alphatWallFunction;
value $internalField; value $internalField;
} }
inlet inlet
{ {
type calculated; type calculated;
value $internalField; value $internalField;
} }
outlet outlet
{ {
type calculated; type calculated;

View File

@ -26,27 +26,32 @@ boundaryField
type epsilonWallFunction; type epsilonWallFunction;
value uniform 200; value uniform 200;
} }
back back
{ {
type epsilonWallFunction; type epsilonWallFunction;
value uniform 200; value uniform 200;
} }
walls walls
{ {
type epsilonWallFunction; type epsilonWallFunction;
value uniform 200; value uniform 200;
} }
porosityWall porosityWall
{ {
type epsilonWallFunction; type epsilonWallFunction;
value uniform 200; value uniform 200;
} }
inlet inlet
{ {
type turbulentMixingLengthDissipationRateInlet; type turbulentMixingLengthDissipationRateInlet;
mixingLength 0.005; mixingLength 0.005;
value uniform 200; value uniform 200;
} }
outlet outlet
{ {
type inletOutlet; type inletOutlet;

View File

@ -26,27 +26,32 @@ boundaryField
type kqRWallFunction; type kqRWallFunction;
value uniform 1; value uniform 1;
} }
back back
{ {
type kqRWallFunction; type kqRWallFunction;
value uniform 1; value uniform 1;
} }
walls walls
{ {
type kqRWallFunction; type kqRWallFunction;
value uniform 1; value uniform 1;
} }
porosityWall porosityWall
{ {
type kqRWallFunction; type kqRWallFunction;
value uniform 1; value uniform 1;
} }
inlet inlet
{ {
type turbulentIntensityKineticEnergyInlet; type turbulentIntensityKineticEnergyInlet;
intensity 0.05; intensity 0.05;
value uniform 1; value uniform 1;
} }
outlet outlet
{ {
type inletOutlet; type inletOutlet;

View File

@ -26,26 +26,31 @@ boundaryField
type nutkWallFunction; type nutkWallFunction;
value uniform 0; value uniform 0;
} }
back back
{ {
type nutkWallFunction; type nutkWallFunction;
value uniform 0; value uniform 0;
} }
walls walls
{ {
type nutkWallFunction; type nutkWallFunction;
value uniform 0; value uniform 0;
} }
porosityWall porosityWall
{ {
type nutkWallFunction; type nutkWallFunction;
value uniform 0; value uniform 0;
} }
inlet inlet
{ {
type calculated; type calculated;
value uniform 0; value uniform 0;
} }
outlet outlet
{ {
type calculated; type calculated;

View File

@ -24,14 +24,17 @@ boundaryField
{ {
type zeroGradient; type zeroGradient;
} }
back back
{ {
type zeroGradient; type zeroGradient;
} }
walls walls
{ {
type zeroGradient; type zeroGradient;
} }
porosityWall porosityWall
{ {
type zeroGradient; type zeroGradient;
@ -41,6 +44,7 @@ boundaryField
{ {
type zeroGradient; type zeroGradient;
} }
outlet outlet
{ {
type fixedValue; type fixedValue;

View File

@ -1,9 +1,8 @@
#!/bin/sh #!/bin/sh
cd "${0%/*}" || exit # Run from this directory cd "${0%/*}" || exit # Run from this directory
. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions . ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
m4 system/blockMeshDict.m4 > system/blockMeshDict cleanCase0
runApplication blockMesh
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------

View File

@ -6,6 +6,7 @@ cd "${0%/*}" || exit # Run from this directory
m4 system/blockMeshDict.m4 > system/blockMeshDict m4 system/blockMeshDict.m4 > system/blockMeshDict
runApplication blockMesh runApplication blockMesh
restore0Dir
runApplication $(getApplication) runApplication $(getApplication)
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------

View File

@ -31,7 +31,7 @@ solvers
relTol 0; relTol 0;
} }
"(rho|U|e|k|epsilon|omega)" "(rho|U|e|k|epsilon)"
{ {
solver smoothSolver; solver smoothSolver;
smoother symGaussSeidel; smoother symGaussSeidel;
@ -39,7 +39,7 @@ solvers
relTol 0.1; relTol 0.1;
} }
"(rho|U|e|k|epsilon|omega)Final" "(rho|U|e|k|epsilon)Final"
{ {
$U; $U;
relTol 0; relTol 0;
@ -82,7 +82,7 @@ relaxationFactors
{ {
"U.*" 0.7; "U.*" 0.7;
"e.*" 0.7; "e.*" 0.7;
"(k|epsilon|omega).*" 0.7; "(k|epsilon).*" 0.7;
} }
} }

View File

@ -20,19 +20,21 @@ internalField uniform 293;
boundaryField boundaryField
{ {
front front
{ {
type zeroGradient; type zeroGradient;
} }
back back
{ {
type zeroGradient; type zeroGradient;
} }
walls walls
{ {
type zeroGradient; type zeroGradient;
} }
porosityWall porosityWall
{ {
type zeroGradient; type zeroGradient;
@ -43,6 +45,7 @@ boundaryField
type fixedValue; type fixedValue;
value $internalField; value $internalField;
} }
outlet outlet
{ {
type inletOutlet; type inletOutlet;

View File

@ -24,25 +24,30 @@ boundaryField
{ {
type noSlip; type noSlip;
} }
back back
{ {
type noSlip; type noSlip;
} }
walls walls
{ {
type noSlip; type noSlip;
} }
porosityWall porosityWall
{ {
type slip; type slip;
value uniform (0 0 0); value uniform (0 0 0);
} }
inlet inlet
{ {
type flowRateInletVelocity; type flowRateInletVelocity;
massFlowRate constant 0.1; massFlowRate constant 0.1;
value uniform (0 0 0); value uniform (0 0 0);
} }
outlet outlet
{ {
type fluxCorrectedVelocity; //inletOutlet; type fluxCorrectedVelocity; //inletOutlet;

View File

@ -26,26 +26,31 @@ boundaryField
type compressible::alphatWallFunction; type compressible::alphatWallFunction;
value uniform 0; value uniform 0;
} }
back back
{ {
type compressible::alphatWallFunction; type compressible::alphatWallFunction;
value uniform 0; value uniform 0;
} }
walls walls
{ {
type compressible::alphatWallFunction; type compressible::alphatWallFunction;
value uniform 0; value uniform 0;
} }
porosityWall porosityWall
{ {
type compressible::alphatWallFunction; type compressible::alphatWallFunction;
value uniform 0; value uniform 0;
} }
inlet inlet
{ {
type calculated; type calculated;
value uniform 0; value uniform 0;
} }
outlet outlet
{ {
type calculated; type calculated;

View File

@ -26,27 +26,32 @@ boundaryField
type epsilonWallFunction; type epsilonWallFunction;
value uniform 200; value uniform 200;
} }
back back
{ {
type epsilonWallFunction; type epsilonWallFunction;
value uniform 200; value uniform 200;
} }
walls walls
{ {
type epsilonWallFunction; type epsilonWallFunction;
value uniform 200; value uniform 200;
} }
porosityWall porosityWall
{ {
type epsilonWallFunction; type epsilonWallFunction;
value uniform 200; value uniform 200;
} }
inlet inlet
{ {
type turbulentMixingLengthDissipationRateInlet; type turbulentMixingLengthDissipationRateInlet;
mixingLength 0.005; mixingLength 0.005;
value uniform 200; value uniform 200;
} }
outlet outlet
{ {
type inletOutlet; type inletOutlet;

View File

@ -26,27 +26,32 @@ boundaryField
type kqRWallFunction; type kqRWallFunction;
value uniform 1; value uniform 1;
} }
back back
{ {
type kqRWallFunction; type kqRWallFunction;
value uniform 1; value uniform 1;
} }
walls walls
{ {
type kqRWallFunction; type kqRWallFunction;
value uniform 1; value uniform 1;
} }
porosityWall porosityWall
{ {
type kqRWallFunction; type kqRWallFunction;
value uniform 1; value uniform 1;
} }
inlet inlet
{ {
type turbulentIntensityKineticEnergyInlet; type turbulentIntensityKineticEnergyInlet;
intensity 0.05; intensity 0.05;
value uniform 1; value uniform 1;
} }
outlet outlet
{ {
type inletOutlet; type inletOutlet;

View File

@ -26,26 +26,31 @@ boundaryField
type nutkWallFunction; type nutkWallFunction;
value uniform 0; value uniform 0;
} }
back back
{ {
type nutkWallFunction; type nutkWallFunction;
value uniform 0; value uniform 0;
} }
walls walls
{ {
type nutkWallFunction; type nutkWallFunction;
value uniform 0; value uniform 0;
} }
porosityWall porosityWall
{ {
type nutkWallFunction; type nutkWallFunction;
value uniform 0; value uniform 0;
} }
inlet inlet
{ {
type calculated; type calculated;
value uniform 0; value uniform 0;
} }
outlet outlet
{ {
type calculated; type calculated;

View File

@ -24,14 +24,17 @@ boundaryField
{ {
type zeroGradient; type zeroGradient;
} }
back back
{ {
type zeroGradient; type zeroGradient;
} }
walls walls
{ {
type zeroGradient; type zeroGradient;
} }
porosityWall porosityWall
{ {
type zeroGradient; type zeroGradient;
@ -41,6 +44,7 @@ boundaryField
{ {
type zeroGradient; type zeroGradient;
} }
outlet outlet
{ {
type fixedValue; type fixedValue;

View File

@ -0,0 +1,8 @@
#!/bin/sh
cd "${0%/*}" || exit # Run from this directory
. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions
#------------------------------------------------------------------------------
cleanCase0
#------------------------------------------------------------------------------

View File

@ -6,6 +6,7 @@ cd "${0%/*}" || exit # Run from this directory
m4 system/blockMeshDict.m4 > system/blockMeshDict m4 system/blockMeshDict.m4 > system/blockMeshDict
runApplication blockMesh runApplication blockMesh
restore0Dir
runApplication $(getApplication) runApplication $(getApplication)
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------

View File

@ -32,7 +32,7 @@ solvers
relTol 0.1; relTol 0.1;
} }
"(rho|U|h|k|epsilon|omega)" "(rho|U|h|k|epsilon)"
{ {
solver smoothSolver; solver smoothSolver;
smoother symGaussSeidel; smoother symGaussSeidel;
@ -40,7 +40,7 @@ solvers
relTol 0.1; relTol 0.1;
} }
"(rho|U|h|k|epsilon|omega)Final" "(rho|U|h|k|epsilon)Final"
{ {
$U; $U;
tolerance 1e-05; tolerance 1e-05;

View File

@ -27,16 +27,19 @@ boundaryField
Prt 0.85; Prt 0.85;
value uniform 0; value uniform 0;
} }
stator stator
{ {
type compressible::alphatWallFunction; type compressible::alphatWallFunction;
Prt 0.85; Prt 0.85;
value uniform 0; value uniform 0;
} }
front front
{ {
type empty; type empty;
} }
back back
{ {
type empty; type empty;

View File

@ -0,0 +1,8 @@
#!/bin/sh
cd "${0%/*}" || exit # Run from this directory
. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions
#------------------------------------------------------------------------------
cleanCase0
#------------------------------------------------------------------------------

View File

@ -3,7 +3,10 @@ cd "${0%/*}" || exit # Run from this directory
. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions . ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
./makeMesh m4 system/blockMeshDict.m4 > system/blockMeshDict
runApplication blockMesh
restore0Dir
runApplication $(getApplication) runApplication $(getApplication)
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------

View File

@ -31,7 +31,7 @@ writeControl runTime;
writeInterval 0.0002; writeInterval 0.0002;
purgeWrite 0; purgeWrite 10;
writeFormat ascii; // binary; writeFormat ascii; // binary;

View File

@ -62,10 +62,4 @@ PIMPLE
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -20,19 +20,21 @@ internalField uniform 293;
boundaryField boundaryField
{ {
front front
{ {
type zeroGradient; type zeroGradient;
} }
back back
{ {
type zeroGradient; type zeroGradient;
} }
walls walls
{ {
type zeroGradient; type zeroGradient;
} }
porosityWall porosityWall
{ {
type zeroGradient; type zeroGradient;
@ -43,6 +45,7 @@ boundaryField
type fixedValue; type fixedValue;
value $internalField; value $internalField;
} }
outlet outlet
{ {
type inletOutlet; type inletOutlet;

View File

@ -24,25 +24,30 @@ boundaryField
{ {
type noSlip; type noSlip;
} }
back back
{ {
type noSlip; type noSlip;
} }
walls walls
{ {
type noSlip; type noSlip;
} }
porosityWall porosityWall
{ {
type slip; type slip;
value $internalField; value $internalField;
} }
inlet inlet
{ {
type flowRateInletVelocity; type flowRateInletVelocity;
massFlowRate constant 0.1; massFlowRate constant 0.1;
value $internalField; value $internalField;
} }
outlet outlet
{ {
type inletOutlet; type inletOutlet;

View File

@ -26,26 +26,31 @@ boundaryField
type compressible::alphatWallFunction; type compressible::alphatWallFunction;
value $internalField; value $internalField;
} }
back back
{ {
type compressible::alphatWallFunction; type compressible::alphatWallFunction;
value $internalField; value $internalField;
} }
walls walls
{ {
type compressible::alphatWallFunction; type compressible::alphatWallFunction;
value $internalField; value $internalField;
} }
porosityWall porosityWall
{ {
type compressible::alphatWallFunction; type compressible::alphatWallFunction;
value $internalField; value $internalField;
} }
inlet inlet
{ {
type calculated; type calculated;
value $internalField; value $internalField;
} }
outlet outlet
{ {
type calculated; type calculated;

View File

@ -24,14 +24,17 @@ boundaryField
{ {
type zeroGradient; type zeroGradient;
} }
back back
{ {
type zeroGradient; type zeroGradient;
} }
walls walls
{ {
type zeroGradient; type zeroGradient;
} }
porosityWall porosityWall
{ {
type zeroGradient; type zeroGradient;
@ -41,6 +44,7 @@ boundaryField
{ {
type zeroGradient; type zeroGradient;
} }
outlet outlet
{ {
type fixedValue; type fixedValue;

View File

@ -62,9 +62,7 @@ SIMPLE
p 1e-2; p 1e-2;
U 1e-4; U 1e-4;
e 1e-3; e 1e-3;
"(k|epsilon)" 1e-3;
// possibly check turbulence fields
"(k|epsilon|omega)" 1e-3;
} }
} }

View File

@ -56,9 +56,7 @@ SIMPLE
p 1e-3; p 1e-3;
U 1e-4; U 1e-4;
e 1e-3; e 1e-3;
"(k|epsilon)" 1e-3;
// possibly check turbulence fields
"(k|epsilon|omega)" 1e-3;
} }
} }

View File

@ -28,7 +28,6 @@ boundaryField
wall wall
{ {
type nutkWallFunction;
type nutkWallFunction; type nutkWallFunction;
value uniform 0; value uniform 0;
} }

View File

@ -5,6 +5,4 @@ cd "${0%/*}" || exit # Run from this directory
cleanCase cleanCase
rm -f constant/geometry/boundaryLayer.obj
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------

View File

@ -1,7 +1,7 @@
/*--------------------------------*- C++ -*----------------------------------*\ /*--------------------------------*- C++ -*----------------------------------*\
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration | Version: v1912
\\ / A nd | Website: www.openfoam.com \\ / A nd | Website: www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------

View File

@ -20,19 +20,21 @@ internalField uniform 293;
boundaryField boundaryField
{ {
front front
{ {
type zeroGradient; type zeroGradient;
} }
back back
{ {
type zeroGradient; type zeroGradient;
} }
walls walls
{ {
type zeroGradient; type zeroGradient;
} }
porosityWall porosityWall
{ {
type zeroGradient; type zeroGradient;
@ -43,6 +45,7 @@ boundaryField
type fixedValue; type fixedValue;
value $internalField; value $internalField;
} }
outlet outlet
{ {
type inletOutlet; type inletOutlet;

View File

@ -24,25 +24,30 @@ boundaryField
{ {
type noSlip; type noSlip;
} }
back back
{ {
type noSlip; type noSlip;
} }
walls walls
{ {
type noSlip; type noSlip;
} }
porosityWall porosityWall
{ {
type slip; type slip;
value uniform (0 0 0); value uniform (0 0 0);
} }
inlet inlet
{ {
type flowRateInletVelocity; type flowRateInletVelocity;
massFlowRate constant 0.1; massFlowRate constant 0.1;
value uniform (0 0 0); value uniform (0 0 0);
} }
outlet outlet
{ {
type inletOutlet; type inletOutlet;

View File

@ -26,26 +26,31 @@ boundaryField
type compressible::alphatWallFunction; type compressible::alphatWallFunction;
value uniform 0; value uniform 0;
} }
back back
{ {
type compressible::alphatWallFunction; type compressible::alphatWallFunction;
value uniform 0; value uniform 0;
} }
walls walls
{ {
type compressible::alphatWallFunction; type compressible::alphatWallFunction;
value uniform 0; value uniform 0;
} }
porosityWall porosityWall
{ {
type compressible::alphatWallFunction; type compressible::alphatWallFunction;
value uniform 0; value uniform 0;
} }
inlet inlet
{ {
type calculated; type calculated;
value uniform 0; value uniform 0;
} }
outlet outlet
{ {
type calculated; type calculated;

View File

@ -24,14 +24,17 @@ boundaryField
{ {
type zeroGradient; type zeroGradient;
} }
back back
{ {
type zeroGradient; type zeroGradient;
} }
walls walls
{ {
type zeroGradient; type zeroGradient;
} }
porosityWall porosityWall
{ {
type zeroGradient; type zeroGradient;
@ -41,6 +44,7 @@ boundaryField
{ {
type zeroGradient; type zeroGradient;
} }
outlet outlet
{ {
type fixedValue; type fixedValue;

View File

@ -0,0 +1,8 @@
#!/bin/sh
cd "${0%/*}" || exit # Run from this directory
. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions
#------------------------------------------------------------------------------
cleanCase
#------------------------------------------------------------------------------

View File

@ -62,9 +62,7 @@ SIMPLE
p 1e-2; p 1e-2;
U 1e-4; U 1e-4;
e 1e-3; e 1e-3;
"(k|epsilon)" 1e-3;
// Possibly check turbulence fields
"(k|epsilon|omega)" 1e-3;
} }
} }

View File

@ -100,9 +100,7 @@ SIMPLE
p 1e-3; p 1e-3;
U 1e-4; U 1e-4;
e 1e-3; e 1e-3;
"(k|epsilon)" 1e-3;
// possibly check turbulence fields
"(k|epsilon|omega)" 1e-3;
} }

View File

@ -49,9 +49,7 @@ SIMPLE
p 1e-3; p 1e-3;
U 1e-4; U 1e-4;
e 1e-3; e 1e-3;
"(k|epsilon)" 1e-3;
// possibly check turbulence fields
"(k|epsilon|omega)" 1e-3;
} }
} }

View File

@ -25,28 +25,34 @@ boundaryField
type uniformFixedValue; type uniformFixedValue;
uniformValue constant 160; uniformValue constant 160;
} }
farFieldMoving farFieldMoving
{ {
type slip; type slip;
} }
fixedWall fixedWall
{ {
type uniformFixedValue; type uniformFixedValue;
uniformValue constant 0; uniformValue constant 0;
} }
left left
{ {
type uniformFixedValue; type uniformFixedValue;
uniformValue constant 0; uniformValue constant 0;
} }
farField farField
{ {
type slip; type slip;
} }
back back
{ {
type wedge; type wedge;
} }
front front
{ {
type wedge; type wedge;

View File

@ -31,7 +31,7 @@ writeControl adjustable;
writeInterval 5e-7; writeInterval 5e-7;
purgeWrite 0; purgeWrite 10;
writeFormat binary; writeFormat binary;

View File

@ -1,38 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v1912 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
cuttingPlane
{
type surfaces;
libs (sampling);
writeControl writeTime;
surfaceFormat vtk;
fields ( p U );
interpolationScheme cellPoint;
surfaces
(
zNormal
{
type cuttingPlane;
planeType pointAndNormal;
pointAndNormalDict
{
point (0 0 0);
normal (0 0 1);
}
interpolate true;
}
);
}
// ************************************************************************* //

Some files were not shown because too many files have changed in this diff Show More