March 19, 2019, 12:15
|
stokes 1st wave propagation in 3d domain diverged after mesh refinement
|
#1
|
New Member
Ontario
Join Date: Jul 2018
Posts: 3
Rep Power: 8
|
I am working on stokes 1st wave running up a truncated circular column, following the paper “2016 Applied Ocean Research. Liang Sun. Regular waves onto a truncated circular column: A comparison ofexperiments and simulationsL.” Currently I am using foam-extend4.0 together with waves2Foam package.
In the first step I performed simulation of stokes 1st wave propagation in 2d domain (uniform mesh). Grid convergence test was performed and the simulation result was validated by theoretical solution. Then I tried to run a 3d case(uniform mesh) by an extension in spanwise direction. I succeed in the coarse mesh (1 grid in a wave height) as shown in the attach. However when I try to increase the mesh resolution (uniform mesh) it always burst suddently after many time steps, even though both of the time step and CFL number is very small. My case is shown in the attach, could anyone help me pinpoint my mistake? Many thanks!
system/controlDict
Quote:
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application interFoam;
startFrom latestTime; //startTime;
startTime 0;
stopAt endTime;
endTime 40;
deltaT 0.001;
writeControl adjustableRunTime;
writeInterval 10;
purgeWrite 0;
writeFormat ascii;
writePrecision 6;
writeCompression uncompressed;
timeFormat general;
timePrecision 6;
runTimeModifiable yes;
adjustTimeStep no;
maxCo 0.25;
maxAlphaCo 0.25;
maxDeltaT 0.001;
functions
{
#includeIfPresent "../waveGaugesNProbes/surfaceElevationAnyName_controlDict";
}
// ************************************************** *********************** //
|
constant/polyMesh/blockMeshDict
Quote:
/*--------------------------------*- 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;
//nx 140;
//ny 56; //28;
//nz 56;
nx 280;
ny 56;
nz 112;
xl -152.88;
xr 229.32;
yl -76.44;
yr 38.22;
zl -76.44;
zr 76.44;
vertices
(
// ( 0 -0.4 0 )
// ( 18 -0.4 0 )
// ( 0 0.2 0 )
// ( 18 0.2 0 )
// ( 0 -0.4 1 )
// ( 18 -0.4 1 )
// ( 0 0.2 1 )
// ( 18 0.2 1 )
($xl $yl $zl)
($xr $yl $zl)
($xl $yr $zl)
($xr $yr $zl)
($xl $yl $zr)
($xr $yl $zr)
($xl $yr $zr)
($xr $yr $zr)
);
blocks
(
hex (0 1 3 2 4 5 7 6) ($nx $ny $nz ) simpleGrading (1 1 1)
);
edges
(
);
patches
(
patch inlet
(
(0 4 6 2)
)
wall bottom
(
(0 1 5 4)
)
patch outlet
(
(1 5 7 3)
)
patch atmosphere
(
(2 3 7 6)
)
patch front
(
(4 5 7 6)
)
patch back
(
(0 1 3 2)
)
);
mergePatchPairs
(
);
// ************************************************** *********************** //
|
waveProperties.input
Quote:
/*--------------------------------*- 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 environmentalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
seaLevel 0.00;
// A list of the relaxation zones in the simulation. The parameters are given
// in <name>Coeffs below.
relaxationNames (inlet outlet);
initializationName outlet;
inletCoeffs
{
// Wave type to be used at boundary "inlet" and in relaxation zone "inlet"
waveType stokesFirst;
// Ramp time of 2 s
Tsoft 7.0;
// Water depth at the boundary and in the relaxation zone
depth 76.44;
// Wave period
period 7.0;
// Phase shift in the wave
phi 0.000000;
// Wave number vector, k.
direction (1.0 0.0 0.0);
// Wave height
height 2.54;
// Specifications on the relaxation zone shape and relaxation scheme
relaxationZone
{
relaxationScheme Spatial;
relaxationShape Rectangular;
beachType Empty;
relaxType INLET;
startX (-152.88 0.0 -76.44);
endX (-100.00 0.0 76.44);
orientation (1.0 0.0 0.0);
}
};
outletCoeffs
{
waveType potentialCurrent;
U (0 0 0);
Tsoft 7.0;
relaxationZone
{
relaxationScheme Spatial;
relaxationShape Rectangular;
beachType Empty;
relaxType OUTLET;
startX (152.88 0.0 -76.44);
endX (229.32 0.0 76.44);
orientation (1.0 0.0 0.0);
}
};
// ************************************************** *********************** //
|
turbulenceProperties
Quote:
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM Extend Project: Open Source CFD |
| \\ / O peration | Version: 1.6-ext |
| \\ / A nd | Web: www.extend-project.de |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object turbulenceProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
simulationType laminar;
// ************************************************** *********************** //
|
transportProperties
Quote:
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.1.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object transportProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
phase1
{
transportModel Newtonian;
nu nu [ 0 2 -1 0 0 0 0 ] 1e-06;
rho rho [ 1 -3 0 0 0 0 0 ] 1000;
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 ] 0;
}
BirdCarreauCoeffs
{
nu0 nu0 [ 0 2 -1 0 0 0 0 ] 0.0142515;
nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06;
k k [ 0 0 1 0 0 0 0 ] 99.6;
n n [ 0 0 0 0 0 0 0 ] 0.1003;
}
}
phase2
{
transportModel Newtonian;
nu nu [ 0 2 -1 0 0 0 0 ] 1.48e-05;
rho rho [ 1 -3 0 0 0 0 0 ] 1;
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 ] 0;
}
BirdCarreauCoeffs
{
nu0 nu0 [ 0 2 -1 0 0 0 0 ] 0.0142515;
nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06;
k k [ 0 0 1 0 0 0 0 ] 99.6;
n n [ 0 0 0 0 0 0 0 ] 0.1003;
}
}
sigma sigma [ 1 0 -2 0 0 0 0 ] 0.00;
// ************************************************** *********************** //
|
constant/g
Quote:
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM Extend Project: Open Source CFD |
| \\ / O peration | Version: 1.6-ext |
| \\ / A nd | Web: www.extend-project.de |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class uniformDimensionedVectorField;
location "constant";
object g;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -2 0 0 0 0];
value ( 0 -9.81 0 );
// ************************************************** *********************** //
|
system/fvSchemes
Quote:
/*--------------------------------*- 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 fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
// default CrankNicolson 1.0;
default Euler;
}
gradSchemes
{
// default cellLimited fourth 1;
default Gauss linear;
grad(U) Gauss linear;
grad(alpha1) Gauss linear;
}
divSchemes
{
// default Gauss linear;
div(rho*phi,U) Gauss limitedLinearV 1;
// div(phi,gamma) Gauss vanLeer;
// div(rho*phi,U) Gauss MUSCL;
div(phi,alpha) Gauss MUSCL;
div(phirb,alpha) Gauss interfaceCompression;
// div(rhoPhi,U) Gauss limitedLinearV 1;
}
laplacianSchemes
{
default Gauss linear corrected;
}
interpolationSchemes
{
default linear;
}
snGradSchemes
{
default corrected;
}
fluxRequired
{
default no;
pd;
pcorr;
gamma;
}
// ************************************************** *********************** //
|
system/fvSolution
Quote:
/*--------------------------------*- 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 fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
/* pcorr PCG
{
preconditioner DIC;
tolerance 1e-10;
relTol 0;
};
pd PCG
{
preconditioner DIC;
tolerance 1e-7;
relTol 0.001;
};
pdFinal PCG
{
preconditioner DIC;
tolerance 1e-7;
relTol 0;
};*/
pcorr GAMG
{
tolerance 1e-7;
relTol 0.0;
smoother DIC;//GaussSeidel;
nPreSweeps 0;
nPostSweeps 2;
nFinestSweeps 2;
cacheAgglomeration true;
nCellsInCoarsestLevel 10;
agglomerator faceAreaPair;
mergeLevels 1;
};
pd GAMG
{
tolerance 1e-7;
relTol 0.0;
smoother DIC;//GaussSeidel;
nPreSweeps 0;
nPostSweeps 2;
nFinestSweeps 2;
cacheAgglomeration true;
nCellsInCoarsestLevel 10;
agglomerator faceAreaPair;
mergeLevels 1;
};
pdFinal GAMG
{
tolerance 1e-8;
relTol 0.0;
smoother DIC;//GaussSeidel;
nPreSweeps 0;
nPostSweeps 2;
nFinestSweeps 2;
cacheAgglomeration true;
nCellsInCoarsestLevel 10;
agglomerator faceAreaPair;
mergeLevels 1;
};
U PBiCG
{
preconditioner DILU;
tolerance 1e-09;
relTol 0;
};
UFinal PBiCG
{
preconditioner DILU;
tolerance 1e-09;
relTol 0;
};
gamma PBiCG
{
preconditioner DILU;
tolerance 1e-07;
relTol 0;
};
}
PISO
{
cAlpha 1;
}
PIMPLE
{
pdRefCell 0;
pdRefValue 0;
momentumPredictor yes;
nOuterCorrectors 1;
nCorrectors 3;
nNonOrthogonalCorrectors 1;
nAlphaCorr 1;
nAlphaSubCycles 1;
}
// ************************************************** *********************** //
|
0.org/alpha1.org
Quote:
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object alpha.org;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 0;
boundaryField
{
inlet
{
type waveAlpha;
refValue uniform 0;
refGrad uniform 0;
valueFraction uniform 1;
value uniform 0;
}
bottom
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
atmosphere
{
type inletOutlet;
inletValue uniform 0;
value uniform 0;
}
front
{
type zeroGradient;
}
back
{
type zeroGradient;
}
}
// ************************************************** *********************** //
|
0.org/U.org
Quote:
FoamFile
{
version 2.0;
format ascii;
class volVectorField;
location "0";
object U.org;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform ( 0.0 0.0 0.0);
boundaryField
{
inlet
{
type waveVelocity;
refValue uniform ( 0 0 0 );
refGradient uniform ( 0 0 0 );
valueFraction uniform 1;
value uniform ( 0 0 0 );
}
bottom
{
type fixedValue;
value uniform ( 0 0 0 );
}
outlet
{
// type fixedValue;
// value uniform ( 0 0 0 );
type zeroGradient;
}
atmosphere
{
type pressureInletOutletVelocity;
value uniform ( 0 0 0 );
}
front
{
type zeroGradient;
}
back
{
type zeroGradient;
}
}
// ************************************************** *********************** //
|
0.org/pd.org
Quote:
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object pd;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -2 0 0 0 0];
internalField uniform 0;
boundaryField
{
inlet
{
type zeroGradient;
}
bottom
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
atmosphere
{
type totalPressure;
U U;
phi phi;
rho none;
psi none;
gamma 1;
p0 uniform 0;
value uniform 0;
}
front
{
type zeroGradient;
}
back
{
type zeroGradient;
}
}
// ************************************************** *********************** //
|
log-waveFoam.png
stokes1-3d.zip
wave-3d-coarse.pdf
Last edited by chliu; March 28, 2019 at 09:37.
|
|
|