官网:https://doc.cfd.direct/openfoam/user-guide-v9/platehole
$FOAM_TUTORIALS/stressAnalysis/solidDisplacementFoam下的案例
1、网格划分
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: 9
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1;
vertices
(
(0.5 0 0)
(1 0 0)
(2 0 0)
(2 0.707107 0)
(0.707107 0.707107 0)
(0.353553 0.353553 0)
(2 2 0)
(0.707107 2 0)
(0 2 0)
(0 1 0)
(0 0.5 0)
(0.5 0 0.5)
(1 0 0.5)
(2 0 0.5)
(2 0.707107 0.5)
(0.707107 0.707107 0.5)
(0.353553 0.353553 0.5)
(2 2 0.5)
(0.707107 2 0.5)
(0 2 0.5)
(0 1 0.5)
(0 0.5 0.5)
);
blocks
(
hex (5 4 9 10 16 15 20 21) (10 10 1) simpleGrading (1 1 1)
hex (0 1 4 5 11 12 15 16) (10 10 1) simpleGrading (1 1 1)
hex (1 2 3 4 12 13 14 15) (20 10 1) simpleGrading (1 1 1)
hex (4 3 6 7 15 14 17 18) (20 20 1) simpleGrading (1 1 1)
hex (9 4 7 8 20 15 18 19) (10 20 1) simpleGrading (1 1 1)
);
edges
(
arc 0 5 (0.469846 0.17101 0)
arc 5 10 (0.17101 0.469846 0)
arc 1 4 (0.939693 0.34202 0)
arc 4 9 (0.34202 0.939693 0)
arc 11 16 (0.469846 0.17101 0.5)
arc 16 21 (0.17101 0.469846 0.5)
arc 12 15 (0.939693 0.34202 0.5)
arc 15 20 (0.34202 0.939693 0.5)
);
boundary
(
left
{
type symmetryPlane; // 对称边界条件
faces
(
(8 9 20 19)
(9 10 21 20)
);
}
right
{
type patch; // 对称边界条件
faces
(
(2 3 14 13)
(3 6 17 14)
);
}
down
{
type symmetryPlane; // 对称边界条件
faces
(
(0 1 12 11)
(1 2 13 12)
);
}
up
{
type patch;
faces
(
(7 8 19 18)
(6 7 18 17)
);
}
hole
{
type patch;
faces
(
(10 5 16 21)
(5 0 11 16)
);
}
frontAndBack
{
type empty; // 表示一个2D算例
faces
(
(10 9 4 5)
(5 4 1 0)
(1 4 3 2)
(4 7 6 3)
(4 9 8 7)
(21 16 15 20)
(16 11 12 15)
(12 13 14 15)
(15 14 17 18)
(15 18 19 20)
);
}
);
mergePatchPairs
(
);
// ************************************************************************* //
2、边界条件
2.1 位移量D
对于无热应力的单纯应力分析,只有位移量D需要指定。0/D
- 关键词traction:指定牵引力边界。指定牵引力边界矢量和大小;
- pressure:如果这个边界面法向牵引力的压力指向表面之外,就被定义为负值。
- right边界牵引力为(10000 0 0)Pa,pressure为0
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: 9
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volVectorField;
object D;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 0 0 0 0 0];
internalField uniform (0 0 0);
boundaryField
{
left
{
type symmetryPlane;
}
right
{
type tractionDisplacement;
traction uniform (10000 0 0); // 牵引力
pressure uniform 0;
value uniform (0 0 0);
}
down
{
type symmetryPlane;
}
up
{
type tractionDisplacement;
traction uniform (0 0 0);
pressure uniform 0;
value uniform (0 0 0);
}
hole
{
type tractionDisplacement;
traction uniform (0 0 0);
pressure uniform 0;
value uniform (0 0 0);
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //
2.2 物理特性
constant/thermophysicalProperties
- planeStress yes; // 物理特性指定为yes
- thermalStress no; // 不求解热物理方程
/*--------------------------------*- C++ -*--------