Tube case with OpenFOAM3D and Abaqus3D
This example calculates the flow inside and the deformation and stresses of a straight flexible tube, where a pressure pulse is applied at the inlet. This done by using OpenFOAM and Abaqus, both with a fully 3D case.
Coupling algorithm
The coupling technique used is the interface quasi-Newton algorithm with an approximation for the inverse of the Jacobian from a least-squares model (IQN-ILS).
Predictor
The initial guess in every time step is done using the linear predictor.
Convergence criterion
Two convergence criteria have been specified:
- The number of iterations in every time step is larger than 20.
- The residual norm on the displacement is a factor 10^{-3} lower than the initial value.
When either criterion is satisfied the simulation stops.
Solvers
The flow solver is OpenFoam, used to solve a fully 3D tube,
with 48 cells on the fluid-structure interface in the length direction and 8 in the circumferential direction.
When setting up the case, the mesh is build based on the file blockMeshDict
.
The displacements are applied in the nodes. In contrast, the loads (pressure and traction) are calculated in the cell centers.
The axial direction is along the x-axis.
When setting up the case using the setup.sh
script, the solver coconut_pimpleFoam
is compiled automatically.
The structural solver is Abaqus, used to solve a fully 3D tube,
with 12 elements on the fluid-structure interface in the length direction and 8 in the circumferential direction.
The Abaqus case is built when setting up the case starting from the file mesh_tube3d.inp
containing nodes and elements.
This is done by running Abaqus with the make_inp.py
Python script to set all parameters, such as surface definitions, material parameters, boundary conditions and time step information.
The result of the setup is a completed input file case_tube3d.inp
.
The Abaqus element type used is S8R. These are 8-node shell elements. The R refers to reduced integration.
See the Abaqus documentation for more information.
The loads are applied on the faces in 9 points per element, which means on 864 load points in total.
The displacement is calculated in the nodes. There are 304 nodes on the fluid-structure interface.
The axial direction is along the x-axis.
The coordinate frames of both solvers are the same so there is no need for a permutation mapper. In contrast, the difference of the points where loads and displacements are applied or calculated, require the use of interpolation mappers. Therefore, a radial basis mapper is introduced in the structural solver to interpolate in the x-, y- and z-direction.