Tutorial: UCM model. Miguel Nobrega etal

This commit is contained in:
Hrvoje Jasak 2017-02-10 14:23:33 +00:00
parent 09992c2b75
commit 3e2b82b099
11 changed files with 572 additions and 0 deletions

View file

@ -0,0 +1,48 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 4.0 |
| \\ / A nd | Web: http://www.foam-extend.org |
| \\/ 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
{
inlet
{
type fixedValue;
value uniform (0.00125 0 0);
}
fixedWalls
{
type fixedValue;
value uniform (0 0 0);
}
outlet
{
type zeroGradient;
}
simetry
{
type symmetryPlane;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,47 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 4.0 |
| \\ / A nd | Web: http://www.foam-extend.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
internalField uniform 0;
boundaryField
{
inlet
{
type zeroGradient;
}
fixedWalls
{
type zeroGradient;
}
outlet
{
type fixedValue;
value uniform 0;
}
simetry
{
type symmetryPlane;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,45 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 4.0 |
| \\ / A nd | Web: http://www.foam-extend.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volSymmTensorField;
object tau;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -2 0 0 0 0];
internalField uniform (0 0 0 0 0 0);
boundaryField
{
inlet
{
type zeroGradient;
}
fixedWalls
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
simetry
{
type symmetryPlane;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,6 @@
#!/bin/sh
# Source tutorial clean functions
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
cleanCase

View file

@ -0,0 +1,10 @@
#!/bin/sh
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
# Get application name
application=`getApplication`
runApplication blockMesh
runApplication $application

View file

@ -0,0 +1,44 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 4.0 |
| \\ / A nd | Web: http://www.foam-extend.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
#
#+TITLE: UCM model stabilization
#+AUTHORS: Fernandes, C., De Araujo, M.S.B., Ferrás, L.L., Nóbrega, J.M.
This tutorial was prepared to illustrate the new stabilization approach for viscoelastic constitutive models proposed in:
Fernandes, C., De Araujo, M.S.B., Ferras, L.L., Nobrega, J.M.,
Improvements in the OpenFOAM numerical code for simulation of
steady-state differential viscoelastic flows, 11th OpenFOAM Workshop
Guimarães, Portugal, June 26 - 30, 2016
and
De Araujo, M.S.B., Ferras, L.L.,Fernandes, C.,Nobrega, J.M.,
Improvements ans assessment of the integral viscoelastic solver in OpenFOAM, 11th OpenFOAM Workshop
Guimarães, Portugal, June 26 - 30, 2016
It comprises 2 case studies for the flow in a 4:1 abrupt contraction of an UCM viscoelastic fluid, for De=1
- UCM_Orig - employs the original formulation that diverges before reaching the endtime
- UCM_Stab - employs the new stabilized formulation that allows to achieve convergence for all time steps
######
Notes
######
(1) To use the new stabilized formulation the value of etaStab should be provided in "constant/viscoelasticProperties". If ommited the solver uses the original formulation
(2) Based on several studies performed, the value of etaStab should be similar to etaP

View file

@ -0,0 +1,129 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 4.0 |
| \\ / A nd | Web: http://www.foam-extend.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 0.001;
vertices
(
(0 0 0)
(100 0 0)
(0 5 0)
(100 5 0)
(0 15 0)
(100 15 0)
(0 20 0)
(100 20 0)
(150 0 0)
(150 5 0)
(350 0 0)
(350 5 0)
(0 0 0.1)
(100 0 0.1)
(0 5 0.1)
(100 5 0.1)
(0 15 0.1)
(100 15 0.1)
(0 20 0.1)
(100 20 0.1)
(150 0 0.1)
(150 5 0.1)
(350 0 0.1)
(350 5 0.1)
);
blocks
(
hex (0 1 3 2 12 13 15 14) (24 10 1) simpleGrading (0.01116279506 0.2052504667 1)
hex (2 3 5 4 14 15 17 16) (24 13 1) simpleGrading (0.01116279506 9.315264895 1)
hex (4 5 7 6 16 17 19 18) (24 5 1) simpleGrading (0.01116279506 0.2171245102 1)
hex (1 8 9 3 13 20 21 15) (20 10 1) simpleGrading (46.57661513 0.2052504667 1)
hex (8 10 11 9 20 22 23 21) (7 10 1) simpleGrading (6.476978227 0.2052504667 1)
);
edges
(
);
boundary
(
inlet
{
type patch;
faces
(
(0 12 14 2)
(2 14 16 4)
(4 16 18 6)
);
}
fixedWalls
{
type wall;
faces
(
(6 18 19 7)
(5 7 19 17)
(3 5 17 15)
(3 15 21 9)
(9 21 23 11)
);
}
outlet
{
type patch;
faces
(
(10 11 23 22)
);
}
simetry
{
type symmetryPlane;
faces
(
(0 1 13 12)
(1 8 20 13)
(8 10 22 20)
);
}
frontAndBack
{
type empty;
faces
(
(0 2 3 1)
(2 4 5 3)
(4 6 7 5)
(1 3 9 8)
(8 9 11 10)
(12 13 15 14)
(14 15 17 16)
(16 17 19 18)
(13 20 21 15)
(20 22 23 21)
);
}
);
mergePatchPairs
(
);
// ************************************************************************* //

View file

@ -0,0 +1,43 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 4.0 |
| \\ / A nd | Web: http://www.foam-extend.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object viscoelasticProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
/*
From:
Fernandes, C., De Araujo, M.S.B., Ferrás, L.L., Nóbrega, J.M.,
Improvements in the OpenFOAM numerical code for simulation of
steady-state differential viscoelastic flows, 11th OpenFOAM Workshop
Guimarães, Portugal, June 26 - 30, 2016
and
De Araujo, M.S.B., Ferras, L.L.,Fernandes, C.,Nobrega, J.M.,
Improvements ans assessment of the integral viscoelastic solver in OpenFOAM, 11th OpenFOAM Workshop
Guimarães, Portugal, June 26 - 30, 2016
*/
rheology
{
type UCM;
rho rho [1 -3 0 0 0 0 0] 100;
etaP etaP [1 -1 -1 0 0 0 0] 0.25;
lambda lambda [0 0 1 0 0 0 0] 1;
etaStab 0.25;
}
// ************************************************************************* //

View file

@ -0,0 +1,60 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 4.0 |
| \\ / A nd | Web: http://www.foam-extend.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
libs
(
"liblduSolvers.so"
)
application viscoelasticFluidFoam;
startFrom startTime;
startTime 0.0;
stopAt endTime;
endTime 15;
deltaT 1e-4;
writeControl adjustableRunTime;
writeInterval 1;
purgeWrite 0;
writeFormat ascii;
writePrecision 6;
writeCompression uncompressed;
timeFormat general;
timePrecision 6;
graphFormat raw;
runTimeModifiable yes;
adjustTimeStep no;
maxCo 0.35;
maxDeltaT 0.01;
// ************************************************************************* //

View file

@ -0,0 +1,64 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 4.0 |
| \\ / A nd | Web: http://www.foam-extend.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default Euler;
}
gradSchemes
{
default Gauss linear;
grad(p) fourth;
grad(U) fourth;
}
divSchemes
{
default none;
div(phi,U) Gauss Minmod;
div(phi,tau) Gauss Minmod;
div(tau) Gauss linear;
}
laplacianSchemes
{
default none;
laplacian(etaPEff,U) Gauss linear corrected;
laplacian(etaPEff+etaS,U) Gauss linear corrected;
laplacian((1|A(U)),p) Gauss linear corrected;
}
interpolationSchemes
{
default linear;
interpolate(HbyA) linear;
}
snGradSchemes
{
default corrected;
}
fluxRequired
{
default no;
p;
}
// ************************************************************************* //

View file

@ -0,0 +1,76 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 4.0 |
| \\ / A nd | Web: http://www.foam-extend.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
p
{
solver CG;
preconditioner Cholesky;
tolerance 1e-09;
relTol 0;
minIter 0;
maxIter 800;
}
U
{
solver BiCGStab;
preconditioner ILU0;
tolerance 1e-09;
relTol 0;
minIter 0;
maxIter 1000;
}
tau
{
solver BiCGStab;
preconditioner ILU0;
tolerance 1e-09;
relTol 0;
minIter 0;
maxIter 1000;
};
}
PISO
{
nCorrectors 4;
nNonOrthogonalCorrectors 0;
pRefCell 0;
pRefValue 0;
}
relaxationFactors
{
p 0.3;
U 0.7;
tau 0.3;
}
// ************************************************************************* //