CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Running, Solving & CFD (
-   -   Problems in calculating the fluid traction on the current structure frame in 3D models (

fw407 August 6, 2008 12:04

Hi everyone, I am working o
Hi everyone,

I am working on an FSI project, the solver is based on the icoFsiFoam but the structure code can deal with geometrically nonlinear structure problems and works in the initial structure frame. the solver is working properly in 2-D and I have tried 2-D axially symmetric cases and the results are satisfactory, but I get problems in running a 3-D model say a complete pipe,

I have debuged the solver, and the problem lies in the "setPressure.H" which looks like:


tensorField gradD = fvc::grad(D);

vectorField nc = stressMesh.Sf().boundaryField()[solidPatchID] & inv (I + gradD.T()) * det (I + gradD);

vectorField n = nc / mag(nc);

symmTensorField solidPatchTraction = sigmaFluid.boundaryField()[fluidPatchID] ;

solidPatchTraction *= rhoFluid.value();

tForce.traction() = solidPatchTraction & (n);


for a 3-D model, the equation "vectorField n = nc / mag(nc);" can not be calculated correctly and the computation diverges at the beginning:

snail@snail-laptop:~/OpenFOAM/snail-1.4.1-dev/run/tutorials/icoStVkFsiFoam$ icoStVkFsiFoam . halfVine
| ========= | |
| \ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \ / O peration | Version: 1.4.1-dev |
| \ / A nd | Web: |
| \/ M anipulation | |

Exec : icoStVkFsiFoam . halfVine
Date : Aug 06 2008
Time : 16:49:22
Host : snail-laptop
PID : 11528
Root : /home/snail/OpenFOAM/snail-1.4.1-dev/run/tutorials/icoStVkFsiFoam
Case : halfVine
Nprocs : 1
Create time

Create dynamic mesh for time = 0

Selecting dynamicFvMesh dynamicMotionSolverFvMesh
Selecting motion solver: laplaceFaceDecomposition
Selecting motion diffusivity: quadratic
Reading transportProperties

Reading field p

Reading field U

Calculating stress field sigmaFluid

Reading/calculating face flux field phi

Reading mechanical properties

Calculating Lame's coefficients

mu = 46153.8 Pa
lambda = 69230.8 Pa
threeK = 300000 Pa
Reading field D

Calculating field V

Calculating stress field gradD

Calculating stress field sigma

Calculating explicit part of div(sigma) Q

Reading coupling properties
the relaxation factor is

Starting time loop

Courant Number mean: 0 max: 0
Time = 1e-07

Setting traction on solid patch
Floating point exception (core dumped)

from the debug results, the "gradD" and "nc" are calculated correctly but the calculation diverges when trying to calculate "vectorField n = nc / mag(nc)". so far,I haven't figured out why, could anyone give me some ideas?

Kind regards


All times are GMT -4. The time now is 00:48.