CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM CC Toolkits for Fluid-Structure Interaction (https://www.cfd-online.com/Forums/openfoam-cc-toolkits-fluid-structure-interaction/)
-   -   [solids4Foam] How to calculate drag coeff when using solids4Foam (https://www.cfd-online.com/Forums/openfoam-cc-toolkits-fluid-structure-interaction/218913-how-calculate-drag-coeff-when-using-solids4foam.html)

amuzeshi July 9, 2019 05:34

How to calculate drag coeff when using solids4Foam
 
The question is: How to calculate drag coeff when using solids4Foam on foam-extend 4.0? OR
Why execFlowFunctionObjects doesn't recognize regions in an FSI problem?

I went thru these steps:

1- solving:
Code:

user@linux$ solids4Foam
2- adding this to the end of controlDict:
Code:

  forceCoeffs1
  {
        type            forceCoeffs;
        region              fluid;     
        libs            ("libforces.so");
        outputControl      timeStep;
        outputInterval      1;
        patches            (interface);
        pName              p;
        UName              U;
        rhoName            rhoInf;
        log                true;
        rhoInf              1000;
        CofR                (0.5 0.1 0);
        dragDir    (1 0.0 0);
        magUInf    .2;
        lRef        .2;
        Aref        .04;
  }

3- executing this:
Code:

user@linux$ execFlowFunctionObjects
4- this error appears:
Code:

Create time

Create mesh for time = 0



--> FOAM FATAL ERROR:
Cannot find file "points" in directory "constant/polyMesh"

    From function Time::findInstance(const fileName&, const word&, const IOobject::readOption)
    in file db/Time/findInstance.C at line 148.

FOAM exiting

The Question again:
Why execFlowFunctionObjects doesn't recognize regions in an FSI problem?

regards
Ali

wyldckat July 9, 2019 19:27

Quick answer: execFlowFunctionObjects was designed as a simply function objects execution application. It assumes that you used simpleFoam, pisoFoam or some other fluid flow solver.

Mmm... now that I think about it... inside which folder are you running that command?

amuzeshi July 11, 2019 13:23

Quote:

Originally Posted by wyldckat (Post 738508)
Quick answer: execFlowFunctionObjects was designed as a simply function objects execution application. It assumes that you used simpleFoam, pisoFoam or some other fluid flow solver.

Mmm... now that I think about it... inside which folder are you running that command?

inside the case folder as usual.

bigphil August 8, 2019 05:58

Hi Ali,

The function objects should work correctly when the solids4foam solver is running.

I do not have experience with execFlowFunctionObjects but possibly it does not work as expected when there are regions.

So one solution is to run your simulation again with the function objects included.

Philip

Hamed1117 September 23, 2019 07:24

Access to solids4foam solver!!
 
Does anyone know how can i access to the solids4Foam solver ?

amuzeshi September 23, 2019 09:29

Quote:

Originally Posted by Hamed1117 (Post 745271)
Does anyone know how can i access to the solids4Foam solver ?

Hi Hamed,
Read this post.

Hamed1117 September 23, 2019 15:20

Thank you Ali,
Dr Philip was very supportive in this field,

Hamed1117 October 25, 2019 09:20

solids4Foam for neoHookeanElastic model
 
1 Attachment(s)
I am trying to use neoHookeanElastic model for FSI case of blood flow and living tissues interaction.

The FSI case consists of hyper-elastic Venous valves inside a blood vessel which demands the poisson`s ratio ~0.49 and Young M ~ 2e6.

The problem, however, is that for poisson`s ratio > 0.49, the solid part needs a very small time step (~1e-6) with many FSI iteration numbers(~35-40 iterations), and for higher time steps I got the following error :

From function void Foam::neoHookeanElastic::correct(surfaceSymmTensor Field& sigma) in filematerialModels/mechanicalModel/mechanicalLaws/nonLinearGeometryLaws/neoHookeanElastic/neoHookeanElastic.C at line 401-Material linearity enforced for stability!

mesh and geometry are attached,

thanks.

amuzeshi October 25, 2019 12:44

Quote:

Originally Posted by Hamed1117 (Post 748068)
From function void Foam::neoHookeanElastic::correct(surfaceSymmTensor Field& sigma) in filematerialModels/mechanicalModel/mechanicalLaws/nonLinearGeometryLaws/neoHookeanElastic/neoHookeanElastic.C at line 401-Material linearity enforced for stability!

Hi,
Are you sure that it is an error? Isn't it only a warning?
Try these steps and see what happens:
  • In system/controlDict, turn on adjustableTimeStep
  • Use 1e-3 as absolute residual criteria for solid, fluid and outer fsi loop (By this, you actually loose the accuracy, but the procedure goes faster).
  • Be sure that number of outer fsi loops are big enough that the residual is reached.
Best,
Ali

bigphil October 26, 2019 11:14

Hi Hamed,

Generally, the displacement-based approach taken by most of the solid models becomes very inefficient for large (>0.49) values of Poisson's ratio. Instead, a pressure-displacement approach may work better e.g. see Tukovic et al presentation at the OpenFOAM Workshop in Duisburg.

It may be sufficient for your work to assume a lower value.

Philip

Hamed1117 November 3, 2019 12:47

1 Attachment(s)
Hi Dr. Philip and Mr Ali;

Considering my case (FSI on Venous valves interaction with blood flow), I thought the problem was more about the wrong Poisson`s ratio and Young`s Modulus, but after trying many different values for mechanical properties, I have the same deviation around the interfaces even if I use a very fine mesh.

I just made a few clarifying pictures to give you a better understanding of the problem. I would like to share my log file as well.

I would also like to share my case in a private email.

Thanks again for your kind supports.
-------
Hamed
Code:

Time = 0.01017

Setting traction on solid patch
Interpolating from fluid to solid using GGI/AMI interpolation
Total force (fluid) = (3.15809e-06 1.50563e-06 0.000304074)
Total force (solid) = (-3.15261e-06 -1.55435e-06 -0.000303831)
Evolving solid solver
Corr 0, relative residual = 1
Corr 176, relative residual = 0
PCG: Solving for D, Initial residual = 0.00892703, Final residual = 9.71689e-10, No outer iterations = 176
 Max relative residual = 1, Relative residual = 0, enforceLinear = false
Interpolating from solid to fluid using GGI/AMI interpolation
Interpolating from solid to fluid using GGI/AMI interpolation
Current fsi relative residual norm: 1
Alternative fsi residual: 0.00905615

Time = 0.01017, iteration: 1
Modes before clean-up : 2, modes after clean-up : 0
Current fsi under-relaxation factor: 0.4
Maximal accumulated displacement of interface points: 0.0425372
GAMG:  Solving for cellMotionUx, Initial residual = 0.222616, Final residual = 4.21496e-07, No Iterations 5
GAMG:  Solving for cellMotionUy, Initial residual = 0.270774, Final residual = 4.8607e-07, No Iterations 5
GAMG:  Solving for cellMotionUz, Initial residual = 0.264161, Final residual = 5.66204e-07, No Iterations 4
GAMG:  Solving for cellMotionUx, Initial residual = 0.000258033, Final residual = 4.30003e-07, No Iterations 4
GAMG:  Solving for cellMotionUy, Initial residual = 0.000296835, Final residual = 6.00212e-07, No Iterations 3
GAMG:  Solving for cellMotionUz, Initial residual = 0.000198566, Final residual = 6.33282e-07, No Iterations 3
Evolving fluid model: pimpleFluid
Courant Number mean: 9.5329e-06 max: 0.0108989 velocity magnitude: 0.0104209
PIMPLE: iteration 1
DILUPBiCG:  Solving for Ux, Initial residual = 0.00371237, Final residual = 3.04198e-09, No Iterations 3
DILUPBiCG:  Solving for Uy, Initial residual = 0.00618749, Final residual = 1.04728e-08, No Iterations 3
DILUPBiCG:  Solving for Uz, Initial residual = 0.000905929, Final residual = 4.20485e-08, No Iterations 2
DILUPBiCG:  Solving for omega, Initial residual = 0.818183, Final residual = 2.64753e-19, No Iterations 1
bounding omega, min: -9.23974e+15 max: 3.28545e+24 average: 1.19418e+18
DILUPBiCG:  Solving for k, Initial residual = 0.00460888, Final residual = 5.78919e-17, No Iterations 1
bounding k, min: -0.000151413 max: 0.015 average: 5.93991e-06
PIMPLE: iteration 2
DILUPBiCG:  Solving for Ux, Initial residual = 9.75781e-05, Final residual = 5.98661e-08, No Iterations 1
DILUPBiCG:  Solving for Uy, Initial residual = 0.000527519, Final residual = 1.15841e-09, No Iterations 2
DILUPBiCG:  Solving for Uz, Initial residual = 2.24534e-05, Final residual = 9.54317e-09, No Iterations 1
DILUPBiCG:  Solving for omega, Initial residual = 0.818183, Final residual = 3.29049e-19, No Iterations 1
bounding omega, min: -2.72772e+23 max: 3.28545e+23 average: 3.25659e+16
DILUPBiCG:  Solving for k, Initial residual = 0.000695647, Final residual = 1.98929e-15, No Iterations 1
bounding k, min: -0.00010531 max: 0.015 average: 5.68596e-06
PIMPLE: iteration 3
DILUPBiCG:  Solving for Ux, Initial residual = 4.75273e-06, Final residual = 6.29318e-09, No Iterations 1
DILUPBiCG:  Solving for Uy, Initial residual = 4.45566e-05, Final residual = 2.31057e-08, No Iterations 1
DILUPBiCG:  Solving for Uz, Initial residual = 4.86859e-07, Final residual = 6.83051e-10, No Iterations 1
DILUPBiCG:  Solving for omega, Initial residual = 0.80484, Final residual = 3.6083e-14, No Iterations 1
bounding omega, min: -2.72756e+23 max: 3.4008e+28 average: 4.77861e+22
DILUPBiCG:  Solving for k, Initial residual = 0.00500811, Final residual = 9.96427e-19, No Iterations 1
bounding k, min: -0.000209318 max: 0.015 average: 5.55772e-06
Setting traction on solid patch
Interpolating from fluid to solid using GGI/AMI interpolation
Total force (fluid) = (-1.98948e-05 7.8638e-06 -0.000362569)
Total force (solid) = (1.9937e-05 -7.83634e-06 0.000362261)
Evolving solid solver
Corr 0, relative residual = 0.00919203
Corr 205, relative residual = 0
PCG: Solving for D, Initial residual = 1.87231e-05, Final residual = 9.35021e-10, No outer iterations = 205
 Max relative residual = 0.00919203, Relative residual = 0, enforceLinear = false
Interpolating from solid to fluid using GGI/AMI interpolation
Interpolating from solid to fluid using GGI/AMI interpolation
Current fsi relative residual norm: 0.583811
Alternative fsi residual: 0.00528709

Time = 0.01017, iteration: 2
Current fsi under-relaxation factor: 0.4
Maximal accumulated displacement of interface points: 0.0210691
GAMG:  Solving for cellMotionUx, Initial residual = 0.315873, Final residual = 4.74294e-07, No Iterations 5
GAMG:  Solving for cellMotionUy, Initial residual = 0.270807, Final residual = 5.04984e-07, No Iterations 5
GAMG:  Solving for cellMotionUz, Initial residual = 0.354676, Final residual = 6.70532e-07, No Iterations 4
GAMG:  Solving for cellMotionUx, Initial residual = 0.000507906, Final residual = 8.95989e-07, No Iterations 4
GAMG:  Solving for cellMotionUy, Initial residual = 0.000569547, Final residual = 9.80743e-07, No Iterations 3
GAMG:  Solving for cellMotionUz, Initial residual = 0.000391171, Final residual = 4.48252e-07, No Iterations 4
Evolving fluid model: pimpleFluid
Courant Number mean: 4.31343e-05 max: 0.0413164 velocity magnitude: 0.0435732
PIMPLE: iteration 1
DILUPBiCG:  Solving for Ux, Initial residual = 0.00158777, Final residual = 4.76985e-09, No Iterations 2
DILUPBiCG:  Solving for Uy, Initial residual = 0.00285384, Final residual = 7.03318e-09, No Iterations 2
DILUPBiCG:  Solving for Uz, Initial residual = 0.000370663, Final residual = 1.23296e-09, No Iterations 2
DILUPBiCG:  Solving for omega, Initial residual = 0.818186, Final residual = 4.27636e-17, No Iterations 1
bounding omega, min: -4.08304e+21 max: 1.01271e+31 average: 3.65249e+24
DILUPBiCG:  Solving for k, Initial residual = 0.00586598, Final residual = 1.50905e-19, No Iterations 1
bounding k, min: -8.97979e-05 max: 0.015 average: 5.56469e-06
PIMPLE: iteration 2
DILUPBiCG:  Solving for Ux, Initial residual = 8.59655e-05, Final residual = 3.79946e-08, No Iterations 1
DILUPBiCG:  Solving for Uy, Initial residual = 0.00022598, Final residual = 3.3595e-10, No Iterations 2
DILUPBiCG:  Solving for Uz, Initial residual = 1.53249e-05, Final residual = 5.1753e-09, No Iterations 1
DILUPBiCG:  Solving for omega, Initial residual = 0.818182, Final residual = 5.44098e-18, No Iterations 1
bounding omega, min: -3.61419e+21 max: 1.57421e+32 average: 4.37714e+25
DILUPBiCG:  Solving for k, Initial residual = 0.0103825, Final residual = 5.63978e-19, No Iterations 1
bounding k, min: -0.000190138 max: 0.015 average: 5.64058e-06
PIMPLE: iteration 3
DILUPBiCG:  Solving for Ux, Initial residual = 1.67418e-06, Final residual = 2.62571e-09, No Iterations 1
DILUPBiCG:  Solving for Uy, Initial residual = 1.59293e-05, Final residual = 1.18784e-08, No Iterations 1
DILUPBiCG:  Solving for Uz, Initial residual = 1.81971e-07, Final residual = 1.48228e-10, No Iterations 1
DILUPBiCG:  Solving for omega, Initial residual = 0.818182, Final residual = 3.2336e-24, No Iterations 1
bounding omega, min: -6.09275e+19 max: 1.57421e+31 average: 4.37718e+24
DILUPBiCG:  Solving for k, Initial residual = 0.0010865, Final residual = 1.08661e-20, No Iterations 1
bounding k, min: -8.54083e-05 max: 0.015 average: 5.72519e-06
Setting traction on solid patch
Interpolating from fluid to solid using GGI/AMI interpolation
Total force (fluid) = (-1.15638e-05 6.02827e-06 -0.000108811)
Total force (solid) = (1.15939e-05 -6.02873e-06 0.000108703)
Evolving solid solver
Corr 0, relative residual = 0.00322152
Corr 181, relative residual = 0
PCG: Solving for D, Initial residual = 7.02616e-06, Final residual = 9.29248e-10, No outer iterations = 181
 Max relative residual = 0.00322152, Relative residual = 0, enforceLinear = false
Interpolating from solid to fluid using GGI/AMI interpolation
Interpolating from solid to fluid using GGI/AMI interpolation
Current fsi relative residual norm: 0.355936
Alternative fsi residual: 0.00322341

Time = 0.01017, iteration: 3
Current fsi under-relaxation factor: 0.4
Maximal accumulated displacement of interface points: 0.0140569
GAMG:  Solving for cellMotionUx, Initial residual = 0.216827, Final residual = 4.26478e-07, No Iterations 5
GAMG:  Solving for cellMotionUy, Initial residual = 0.233153, Final residual = 4.05695e-07, No Iterations 5
GAMG:  Solving for cellMotionUz, Initial residual = 0.262137, Final residual = 6.55199e-07, No Iterations 4
GAMG:  Solving for cellMotionUx, Initial residual = 0.00039729, Final residual = 6.83797e-07, No Iterations 4
GAMG:  Solving for cellMotionUy, Initial residual = 0.000435475, Final residual = 9.13487e-07, No Iterations 3
GAMG:  Solving for cellMotionUz, Initial residual = 0.000298678, Final residual = 9.80874e-07, No Iterations 3
Evolving fluid model: pimpleFluid
Courant Number mean: 6.52255e-05 max: 0.0624469 velocity magnitude: 0.0644917
PIMPLE: iteration 1
DILUPBiCG:  Solving for Ux, Initial residual = 0.00102315, Final residual = 3.06738e-09, No Iterations 2
DILUPBiCG:  Solving for Uy, Initial residual = 0.00181026, Final residual = 4.56335e-09, No Iterations 2
DILUPBiCG:  Solving for Uz, Initial residual = 0.000236891, Final residual = 8.55743e-10, No Iterations 2
DILUPBiCG:  Solving for omega, Initial residual = 0.818182, Final residual = 5.52221e-21, No Iterations 1
bounding omega, min: -2.11844e+19 max: 1.57421e+30 average: 4.37749e+23
DILUPBiCG:  Solving for k, Initial residual = 0.000107267, Final residual = 7.97726e-21, No Iterations 1
bounding k, min: -0.000184072 max: 0.015 average: 5.79673e-06
PIMPLE: iteration 2
DILUPBiCG:  Solving for Ux, Initial residual = 6.79402e-05, Final residual = 2.47819e-08, No Iterations 1
DILUPBiCG:  Solving for Uy, Initial residual = 0.000167144, Final residual = 7.40024e-08, No Iterations 1
DILUPBiCG:  Solving for Uz, Initial residual = 1.62238e-05, Final residual = 5.02729e-09, No Iterations 1
DILUPBiCG:  Solving for omega, Initial residual = 0.818182, Final residual = 2.56549e-22, No Iterations 1
bounding omega, min: -7.13393e+16 max: 1.57421e+29 average: 4.37756e+22
DILUPBiCG:  Solving for k, Initial residual = 1.05613e-05, Final residual = 5.23528e-19, No Iterations 1
bounding k, min: -8.35123e-05 max: 0.015 average: 5.85367e-06
PIMPLE: iteration 3
DILUPBiCG:  Solving for Ux, Initial residual = 1.46828e-06, Final residual = 1.7557e-09, No Iterations 1
DILUPBiCG:  Solving for Uy, Initial residual = 1.04925e-05, Final residual = 8.30899e-09, No Iterations 1
DILUPBiCG:  Solving for Uz, Initial residual = 1.54619e-07, Final residual = 1.43036e-10, No Iterations 1
DILUPBiCG:  Solving for omega, Initial residual = 0.818182, Final residual = 1.9311e-25, No Iterations 1
bounding omega, min: -1.12498e+17 max: 1.57421e+28 average: 4.37757e+21
DILUPBiCG:  Solving for k, Initial residual = 1.06261e-06, Final residual = 1.94168e-19, No Iterations 1
bounding k, min: -0.000181998 max: 0.015 average: 5.85814e-06
Setting traction on solid patch
Interpolating from fluid to solid using GGI/AMI interpolation
Total force (fluid) = (-6.03001e-06 4.56216e-06 5.01522e-05)
Total force (solid) = (6.05143e-06 -4.58066e-06 -5.01309e-05)
Evolving solid solver
Corr 0, relative residual = 0.00210744
Corr 165, relative residual = 0
PCG: Solving for D, Initial residual = 4.53395e-06, Final residual = 9.37221e-10, No outer iterations = 165
 Max relative residual = 0.00210744, Relative residual = 0, enforceLinear = false
Interpolating from solid to fluid using GGI/AMI interpolation
Interpolating from solid to fluid using GGI/AMI interpolation
Current fsi relative residual norm: 0.21737
Alternative fsi residual: 0.00196853

Time = 0.01017, iteration: 4
Maximal accumulated displacement of interface points: 0.0287208
GAMG:  Solving for cellMotionUx, Initial residual = 0.314755, Final residual = 4.90975e-07, No Iterations 5
GAMG:  Solving for cellMotionUy, Initial residual = 0.241241, Final residual = 4.9491e-07, No Iterations 5
GAMG:  Solving for cellMotionUz, Initial residual = 0.311435, Final residual = 6.78914e-07, No Iterations 4
GAMG:  Solving for cellMotionUx, Initial residual = 0.0002758, Final residual = 4.3074e-07, No Iterations 4
GAMG:  Solving for cellMotionUy, Initial residual = 0.000364454, Final residual = 5.55956e-07, No Iterations 3
GAMG:  Solving for cellMotionUz, Initial residual = 0.000200587, Final residual = 5.72831e-07, No Iterations 3
Evolving fluid model: pimpleFluid
Courant Number mean: 9.72781e-05 max: 0.10969 velocity magnitude: 0.103467
PIMPLE: iteration 1
DILUPBiCG:  Solving for Ux, Initial residual = 0.0016107, Final residual = 5.23428e-09, No Iterations 2
DILUPBiCG:  Solving for Uy, Initial residual = 0.00291538, Final residual = 7.58568e-09, No Iterations 2
DILUPBiCG:  Solving for Uz, Initial residual = 0.000372498, Final residual = 1.40193e-09, No Iterations 2
DILUPBiCG:  Solving for omega, Initial residual = 0.818182, Final residual = 1.08359e-20, No Iterations 1
bounding omega, min: -1.1239e+17 max: 1.57421e+27 average: 4.37759e+20
DILUPBiCG:  Solving for k, Initial residual = 1.24894e-07, Final residual = 4.15435e-19, No Iterations 1
bounding k, min: -8.22965e-05 max: 0.015 average: 5.85003e-06
PIMPLE: iteration 2
DILUPBiCG:  Solving for Ux, Initial residual = 8.99254e-05, Final residual = 3.57822e-08, No Iterations 1
DILUPBiCG:  Solving for Uy, Initial residual = 0.00025004, Final residual = 3.48847e-10, No Iterations 2
DILUPBiCG:  Solving for Uz, Initial residual = 2.16671e-05, Final residual = 7.66342e-09, No Iterations 1
DILUPBiCG:  Solving for omega, Initial residual = 0.818182, Final residual = 4.82041e-22, No Iterations 1
bounding omega, min: -5.78925e+19 max: 1.57421e+26 average: 4.37772e+19
DILUPBiCG:  Solving for k, Initial residual = 3.04347e-07, Final residual = 4.40905e-19, No Iterations 1
bounding k, min: -0.000181325 max: 0.015 average: 5.84395e-06
PIMPLE: iteration 3
DILUPBiCG:  Solving for Ux, Initial residual = 2.12102e-06, Final residual = 2.63592e-09, No Iterations 1
DILUPBiCG:  Solving for Uy, Initial residual = 1.45785e-05, Final residual = 1.23879e-08, No Iterations 1
DILUPBiCG:  Solving for Uz, Initial residual = 2.14644e-07, Final residual = 3.48884e-10, No Iterations 1
DILUPBiCG:  Solving for omega, Initial residual = 0.818182, Final residual = 6.59323e-24, No Iterations 1
bounding omega, min: -8.06657e+18 max: 1.57421e+25 average: 8.07092e+18
DILUPBiCG:  Solving for k, Initial residual = 0.000808425, Final residual = 1.79874e-17, No Iterations 1
bounding k, min: -8.15315e-05 max: 0.015 average: 5.79382e-06
Setting traction on solid patch
Interpolating from fluid to solid using GGI/AMI interpolation
Total force (fluid) = (3.08443e-06 9.89652e-07 0.000301391)
Total force (solid) = (-3.07871e-06 -1.03661e-06 -0.000301147)
Evolving solid solver
Corr 0, relative residual = 0.0040934
Corr 181, relative residual = 0
PCG: Solving for D, Initial residual = 7.08595e-06, Final residual = 9.98638e-10, No outer iterations = 181
 Max relative residual = 0.0040934, Relative residual = 0, enforceLinear = false
Interpolating from solid to fluid using GGI/AMI interpolation
Interpolating from solid to fluid using GGI/AMI interpolation
Current fsi relative residual norm: 0.000747883
Alternative fsi residual: 6.77294e-06
ExecutionTime = 114663 s  ClockTime = 114673 s

forces output:
    forces(pressure, viscous)((0 0 0) (2.92363e-07 9.41523e-08 2.84259e-05))
    moment(pressure, viscous)((0 0 0) (-2.8342e-06 1.40024e-05 -1.36377e-08))

Time = 0.01018

Setting traction on solid patch
Interpolating from fluid to solid using GGI/AMI interpolation
Total force (fluid) = (3.08443e-06 9.89652e-07 0.000301391)
Total force (solid) = (-3.07871e-06 -1.03661e-06 -0.000301147)
Evolving solid solver
Corr 0, relative residual = 1
Corr 178, relative residual = 0
PCG: Solving for D, Initial residual = 0.008752, Final residual = 9.17236e-10, No outer iterations = 178
 Max relative residual = 1, Relative residual = 0, enforceLinear = false
Interpolating from solid to fluid using GGI/AMI interpolation
Interpolating from solid to fluid using GGI/AMI interpolation
Current fsi relative residual norm: 1
Alternative fsi residual: 0.00907011


bigphil November 4, 2019 12:09

Hi Hamed,

Does the gap become smaller as the FSI tolerance is tightened? Or alternatively, does it become larger as the FSI tolerance is loosened?

It looks like your mesh is conformal; is that true? In that case, you can use the directMap approached instead of the GGI; you could also try RBF. Both are implemented in solids4foam.

Philip

amuzeshi November 5, 2019 14:33

Quote:

Originally Posted by Hamed1117 (Post 748743)
Hi Dr. Philip and Mr Ali;

Considering my case (FSI on Venous valves interaction with blood flow), I thought the problem was more about the wrong Poisson`s ratio and Young`s Modulus, but
....

Dear Hamed,
As I see infinity values in your omega field, it seems that your fluid flow is not solved properly. What do you think?
I suggest trying this simulation to solve only fluid and not interaction first. You can
do this by turning off fsi in :
Code:

constant/fsiProperties
and then see what happens...

Hamed1117 November 6, 2019 11:26

1 Attachment(s)
Dear Ali,

First, you’re right. The solver is getting problem with the omega field, that’s why the bounding term came in. This problem can be solved if I use fixed value velocity through inlet instead of being required to use time series velocity.
Second, following your suggestions, I just reduce the Tolerance for the FSI loop within each time-step from 1e-6 to 1e-3, and the solver takes a few quick iterations for convergence, and that’s much better right now. But, the deviation in between the interfaces is getting larger, and I hope that would be its maximum value.

Dear Philip,
If you mean the interfaces deviation gap, the time series velocity profile seems to be related problem as well. I don’t have that much deviation gap when I use fixed value velocity at the inlet patch.
I feel that the solver doesn’t work fine with some time series velocity BC.
Regarding the Method for transferring information between the interfaces, direct map approach doesn’t work well even if use a very fined conformal mesh created by ICEM CFD block structured approach. Plus, RBF works much better than GGI.

In sum, as I mentioned before, the procedure sounds to be much better now, but the deviation gap is widening over time, and I think this is becuase the FSI tolerance (1e-3) is too much. Lower FSI tolerance (1e-6), however, demands many iterations.
The other confusing point is that the current time step is 1e-5 with 0.0034 Co number, but if I take it 2-3 times bigger, the solver simply crashes.
Furthermore, the inlet patch is far from the FSI interface at the beginning, and it should take some time for flow field to reach there. But, the interface starts to move short after the start time.

Regards
Hamed

Code:

Time = 0.00718

Setting traction on solid patch
Interpolating from fluid to solid using GGI/AMI interpolation
Total force (fluid) = (-2.33377e-08 -3.01451e-07 1.21318e-05)
Total force (solid) = (2.15632e-08 3.02419e-07 -1.21189e-05)
Evolving solid solver
Corr 0, relative residual = 1
Corr 242, relative residual = 0
PCG: Solving for D, Initial residual = 0.00284558, Final residual = 9.3859e-10, No outer iterations = 242
 Max relative residual = 1, Relative residual = 0, enforceLinear = false
Interpolating from solid to fluid using GGI/AMI interpolation
Interpolating from solid to fluid using GGI/AMI interpolation
Current fsi relative residual norm: 1
Alternative fsi residual: 0.00234895

Time = 0.00718, iteration: 1
Modes before clean-up : 2, modes after clean-up : 0
Current fsi under-relaxation factor: 0.05
Maximal accumulated displacement of interface points: 4.10358e-05
GAMG:  Solving for cellMotionUx, Initial residual = 0.840076, Final residual = 2.39959e-07, No Iterations 7
GAMG:  Solving for cellMotionUy, Initial residual = 0.846326, Final residual = 8.91448e-07, No Iterations 7
GAMG:  Solving for cellMotionUz, Initial residual = 0.888646, Final residual = 9.87733e-07, No Iterations 6
GAMG:  Solving for cellMotionUx, Initial residual = 0.320706, Final residual = 7.29239e-07, No Iterations 8
GAMG:  Solving for cellMotionUy, Initial residual = 0.483341, Final residual = 9.35381e-07, No Iterations 9
GAMG:  Solving for cellMotionUz, Initial residual = 0.329802, Final residual = 5.32541e-07, No Iterations 8
Evolving fluid model: pimpleFluid
Courant Number mean: 1.1378e-06 max: 0.0038489 velocity magnitude: 0.100049
PIMPLE: iteration 1
DILUPBiCG:  Solving for Ux, Initial residual = 0.000822067, Final residual = 2.49849e-10, No Iterations 2
DILUPBiCG:  Solving for Uy, Initial residual = 0.000776971, Final residual = 3.60458e-09, No Iterations 2
DILUPBiCG:  Solving for Uz, Initial residual = 0.000224024, Final residual = 1.25943e-09, No Iterations 2
DILUPBiCG:  Solving for omega, Initial residual = 1.05632e-05, Final residual = 3.48389e-09, No Iterations 1
DILUPBiCG:  Solving for k, Initial residual = 0.000398424, Final residual = 2.46952e-07, No Iterations 1
bounding k, min: -8.52414e-10 max: 0.0152085 average: 0.00947244
PIMPLE: iteration 2
DILUPBiCG:  Solving for Ux, Initial residual = 1.07711e-05, Final residual = 4.34146e-09, No Iterations 1
DILUPBiCG:  Solving for Uy, Initial residual = 1.41384e-05, Final residual = 8.04891e-09, No Iterations 1
DILUPBiCG:  Solving for Uz, Initial residual = 3.48485e-07, Final residual = 3.49716e-10, No Iterations 1
DILUPBiCG:  Solving for omega, Initial residual = 1.06643e-06, Final residual = 4.72058e-10, No Iterations 1
DILUPBiCG:  Solving for k, Initial residual = 4.08304e-05, Final residual = 2.89133e-08, No Iterations 1
bounding k, min: -3.43264e-11 max: 0.0152085 average: 0.00947211
PIMPLE: iteration 3
DILUPBiCG:  Solving for Ux, Initial residual = 4.595e-08, Final residual = 3.15598e-11, No Iterations 1
DILUPBiCG:  Solving for Uy, Initial residual = 5.08656e-08, Final residual = 4.0114e-11, No Iterations 1
DILUPBiCG:  Solving for Uz, Initial residual = 3.0592e-09, Final residual = 3.30954e-12, No Iterations 1
DILUPBiCG:  Solving for omega, Initial residual = 1.0566e-07, Final residual = 5.76603e-11, No Iterations 1
DILUPBiCG:  Solving for k, Initial residual = 4.18618e-06, Final residual = 3.45449e-09, No Iterations 1
bounding k, min: -8.51751e-10 max: 0.0152085 average: 0.00947208
Setting traction on solid patch
Interpolating from fluid to solid using GGI/AMI interpolation
Total force (fluid) = (9.58789e-09 2.0536e-07 2.23259e-06)
Total force (solid) = (-9.05041e-09 -2.07311e-07 -2.22094e-06)
Evolving solid solver
Corr 0, relative residual = 0.00108072
Corr 177, relative residual = 0
PCG: Solving for D, Initial residual = 4.66104e-06, Final residual = 9.87664e-10, No outer iterations = 177
 Max relative residual = 0.00108072, Relative residual = 0, enforceLinear = false
Interpolating from solid to fluid using GGI/AMI interpolation
Interpolating from solid to fluid using GGI/AMI interpolation
Current fsi relative residual norm: 0.946871
Alternative fsi residual: 0.00222415

Time = 0.00718, iteration: 2
Current fsi under-relaxation factor: 0.05
Maximal accumulated displacement of interface points: 3.88777e-05
GAMG:  Solving for cellMotionUx, Initial residual = 0.0600702, Final residual = 3.16851e-07, No Iterations 7
GAMG:  Solving for cellMotionUy, Initial residual = 0.0923394, Final residual = 7.79415e-07, No Iterations 8
GAMG:  Solving for cellMotionUz, Initial residual = 0.0666684, Final residual = 4.59348e-07, No Iterations 7
GAMG:  Solving for cellMotionUx, Initial residual = 0.0131503, Final residual = 4.48109e-07, No Iterations 6
GAMG:  Solving for cellMotionUy, Initial residual = 0.0288351, Final residual = 7.12569e-07, No Iterations 7
GAMG:  Solving for cellMotionUz, Initial residual = 0.0169817, Final residual = 7.17113e-07, No Iterations 6
Evolving fluid model: pimpleFluid
Courant Number mean: 9.25785e-07 max: 0.0038489 velocity magnitude: 0.100049
PIMPLE: iteration 1
DILUPBiCG:  Solving for Ux, Initial residual = 8.36956e-06, Final residual = 2.43038e-09, No Iterations 1
DILUPBiCG:  Solving for Uy, Initial residual = 7.197e-06, Final residual = 3.83537e-09, No Iterations 1
DILUPBiCG:  Solving for Uz, Initial residual = 9.13025e-08, Final residual = 7.72385e-11, No Iterations 1
DILUPBiCG:  Solving for omega, Initial residual = 3.10613e-07, Final residual = 1.17103e-10, No Iterations 1
DILUPBiCG:  Solving for k, Initial residual = 4.74007e-07, Final residual = 3.76998e-10, No Iterations 1
bounding k, min: -2.57545e-12 max: 0.0152085 average: 0.00947207
PIMPLE: iteration 2
DILUPBiCG:  Solving for Ux, Initial residual = 1.29491e-06, Final residual = 6.6442e-10, No Iterations 1
DILUPBiCG:  Solving for Uy, Initial residual = 1.76408e-06, Final residual = 9.90313e-10, No Iterations 1
DILUPBiCG:  Solving for Uz, Initial residual = 3.96689e-08, Final residual = 4.08151e-11, No Iterations 1
DILUPBiCG:  Solving for omega, Initial residual = 3.33405e-08, Final residual = 1.82678e-11, No Iterations 1
DILUPBiCG:  Solving for k, Initial residual = 4.8677e-08, Final residual = 5.0997e-11, No Iterations 1
bounding k, min: -8.52066e-10 max: 0.0152085 average: 0.00947207
PIMPLE: iteration 3
DILUPBiCG:  Solving for Ux, Initial residual = 2.60354e-09, Final residual = 3.21151e-12, No Iterations 1
DILUPBiCG:  Solving for Uy, Initial residual = 2.9883e-09, Final residual = 3.31592e-12, No Iterations 1
DILUPBiCG:  Solving for Uz, Initial residual = 7.88369e-11, Final residual = 7.39832e-14, No Iterations 1
DILUPBiCG:  Solving for omega, Initial residual = 3.23573e-09, Final residual = 2.22854e-12, No Iterations 1
DILUPBiCG:  Solving for k, Initial residual = 5.07204e-09, Final residual = 6.06171e-12, No Iterations 1
bounding k, min: -5.67284e-12 max: 0.0152085 average: 0.00947207
Setting traction on solid patch
Interpolating from fluid to solid using GGI/AMI interpolation
Total force (fluid) = (6.91648e-09 1.89368e-07 2.83362e-06)
Total force (solid) = (-6.47144e-09 -1.91187e-07 -2.82192e-06)
Evolving solid solver
Corr 0, relative residual = 6.13304e-05
Corr 83, relative residual = 0
PCG: Solving for D, Initial residual = 2.70202e-07, Final residual = 9.67325e-10, No outer iterations = 83
 Max relative residual = 6.13304e-05, Relative residual = 0, enforceLinear = false
Interpolating from solid to fluid using GGI/AMI interpolation
Interpolating from solid to fluid using GGI/AMI interpolation
Current fsi relative residual norm: 0.899692
Alternative fsi residual: 0.00211333

Time = 0.00718, iteration: 3
Current fsi under-relaxation factor: 0.05
Maximal accumulated displacement of interface points: 3.69388e-05
GAMG:  Solving for cellMotionUx, Initial residual = 0.0275252, Final residual = 7.98234e-07, No Iterations 5
GAMG:  Solving for cellMotionUy, Initial residual = 0.0292615, Final residual = 7.50964e-07, No Iterations 6
GAMG:  Solving for cellMotionUz, Initial residual = 0.0303498, Final residual = 4.56572e-07, No Iterations 6
GAMG:  Solving for cellMotionUx, Initial residual = 0.0027185, Final residual = 4.0568e-07, No Iterations 5
GAMG:  Solving for cellMotionUy, Initial residual = 0.00533021, Final residual = 4.11815e-07, No Iterations 6
GAMG:  Solving for cellMotionUz, Initial residual = 0.00351797, Final residual = 5.2661e-07, No Iterations 5
Evolving fluid model: pimpleFluid
Courant Number mean: 7.32008e-07 max: 0.0038489 velocity magnitude: 0.100049
PIMPLE: iteration 1
DILUPBiCG:  Solving for Ux, Initial residual = 8.14705e-06, Final residual = 2.29806e-09, No Iterations 1
DILUPBiCG:  Solving for Uy, Initial residual = 6.91261e-06, Final residual = 3.6221e-09, No Iterations 1
DILUPBiCG:  Solving for Uz, Initial residual = 8.75404e-08, Final residual = 7.03357e-11, No Iterations 1
DILUPBiCG:  Solving for omega, Initial residual = 2.81286e-07, Final residual = 1.2101e-10, No Iterations 1
DILUPBiCG:  Solving for k, Initial residual = 6.49217e-08, Final residual = 4.47831e-11, No Iterations 1
bounding k, min: -7.58949e-10 max: 0.0152085 average: 0.00947207
PIMPLE: iteration 2
DILUPBiCG:  Solving for Ux, Initial residual = 1.367e-06, Final residual = 5.53742e-10, No Iterations 1
DILUPBiCG:  Solving for Uy, Initial residual = 1.57508e-06, Final residual = 9.00186e-10, No Iterations 1
DILUPBiCG:  Solving for Uz, Initial residual = 3.50923e-08, Final residual = 3.10754e-11, No Iterations 1
DILUPBiCG:  Solving for omega, Initial residual = 2.99862e-08, Final residual = 1.82564e-11, No Iterations 1
DILUPBiCG:  Solving for k, Initial residual = 6.73838e-09, Final residual = 5.65891e-12, No Iterations 1
bounding k, min: -8.51795e-10 max: 0.0152085 average: 0.00947207
PIMPLE: iteration 3
DILUPBiCG:  Solving for Ux, Initial residual = 2.16595e-09, Final residual = 2.18187e-12, No Iterations 1
DILUPBiCG:  Solving for Uy, Initial residual = 2.64342e-09, Final residual = 3.20919e-12, No Iterations 1
DILUPBiCG:  Solving for Uz, Initial residual = 5.99663e-11, Final residual = 1.36567e-13, No Iterations 1
DILUPBiCG:  Solving for omega, Initial residual = 2.9135e-09, Final residual = 2.17967e-12, No Iterations 1
DILUPBiCG:  Solving for k, Initial residual = 6.94569e-10, Final residual = 6.58861e-13, No Iterations 1
bounding k, min: -7.58995e-10 max: 0.0152085 average: 0.00947207
Setting traction on solid patch
Interpolating from fluid to solid using GGI/AMI interpolation
Total force (fluid) = (3.96849e-09 1.69376e-07 3.41162e-06)
Total force (solid) = (-3.61189e-09 -1.71066e-07 -3.3999e-06)
Evolving solid solver
Corr 0, relative residual = 6.18627e-05
Corr 86, relative residual = 0
PCG: Solving for D, Initial residual = 2.65482e-07, Final residual = 9.24092e-10, No outer iterations = 86
 Max relative residual = 6.18627e-05, Relative residual = 0, enforceLinear = false
Interpolating from solid to fluid using GGI/AMI interpolation
Interpolating from solid to fluid using GGI/AMI interpolation
Current fsi relative residual norm: 0.854873
Alternative fsi residual: 0.00200806

Time = 0.00718, iteration: 4
Maximal accumulated displacement of interface points: 0.000703515
GAMG:  Solving for cellMotionUx, Initial residual = 0.899139, Final residual = 3.14282e-07, No Iterations 7
GAMG:  Solving for cellMotionUy, Initial residual = 0.899561, Final residual = 7.76862e-07, No Iterations 7
GAMG:  Solving for cellMotionUz, Initial residual = 0.908687, Final residual = 2.81354e-07, No Iterations 7
GAMG:  Solving for cellMotionUx, Initial residual = 0.0274633, Final residual = 8.09574e-07, No Iterations 6
GAMG:  Solving for cellMotionUy, Initial residual = 0.0409861, Final residual = 6.12213e-07, No Iterations 7
GAMG:  Solving for cellMotionUz, Initial residual = 0.026483, Final residual = 4.1743e-07, No Iterations 6
Evolving fluid model: pimpleFluid
Courant Number mean: 3.48986e-06 max: 0.0038489 velocity magnitude: 0.100049
PIMPLE: iteration 1
DILUPBiCG:  Solving for Ux, Initial residual = 0.000164904, Final residual = 4.44584e-08, No Iterations 1
DILUPBiCG:  Solving for Uy, Initial residual = 0.000137998, Final residual = 6.90704e-08, No Iterations 1
DILUPBiCG:  Solving for Uz, Initial residual = 1.68687e-06, Final residual = 1.2523e-09, No Iterations 1
DILUPBiCG:  Solving for omega, Initial residual = 2.7701e-06, Final residual = 8.76416e-10, No Iterations 1
DILUPBiCG:  Solving for k, Initial residual = 7.9778e-07, Final residual = 5.9646e-10, No Iterations 1
bounding k, min: -5.29395e-12 max: 0.0152085 average: 0.00947207
PIMPLE: iteration 2
DILUPBiCG:  Solving for Ux, Initial residual = 4.63699e-05, Final residual = 1.05237e-08, No Iterations 1
DILUPBiCG:  Solving for Uy, Initial residual = 3.83718e-05, Final residual = 1.58858e-08, No Iterations 1
DILUPBiCG:  Solving for Uz, Initial residual = 5.43873e-07, Final residual = 2.87303e-10, No Iterations 1
DILUPBiCG:  Solving for omega, Initial residual = 2.97631e-07, Final residual = 1.42784e-10, No Iterations 1
DILUPBiCG:  Solving for k, Initial residual = 8.22545e-08, Final residual = 6.35442e-11, No Iterations 1
bounding k, min: -8.51511e-10 max: 0.0152085 average: 0.00947207
PIMPLE: iteration 3
DILUPBiCG:  Solving for Ux, Initial residual = 3.5925e-08, Final residual = 2.57546e-11, No Iterations 1
DILUPBiCG:  Solving for Uy, Initial residual = 4.12395e-08, Final residual = 3.52182e-11, No Iterations 1
DILUPBiCG:  Solving for Uz, Initial residual = 6.36586e-10, Final residual = 4.37736e-12, No Iterations 1
DILUPBiCG:  Solving for omega, Initial residual = 2.89809e-08, Final residual = 1.54184e-11, No Iterations 1
DILUPBiCG:  Solving for k, Initial residual = 8.56864e-09, Final residual = 7.18223e-12, No Iterations 1
bounding k, min: -6.90639e-13 max: 0.0152085 average: 0.00947207
Setting traction on solid patch
Interpolating from fluid to solid using GGI/AMI interpolation
Total force (fluid) = (-2.53231e-08 -2.77636e-07 1.28999e-05)
Total force (solid) = (2.35382e-08 2.78443e-07 -1.28879e-05)
Evolving solid solver
Corr 0, relative residual = 0.00101833
Corr 175, relative residual = 0
PCG: Solving for D, Initial residual = 4.27465e-06, Final residual = 9.68254e-10, No outer iterations = 175
 Max relative residual = 0.00101833, Relative residual = 0, enforceLinear = false
Interpolating from solid to fluid using GGI/AMI interpolation
Interpolating from solid to fluid using GGI/AMI interpolation
Current fsi relative residual norm: 0.000862285
Alternative fsi residual: 2.02547e-06
ExecutionTime = 10730.1 s  ClockTime = 10731 s

forces output:
    forces(pressure, viscous)((0 0 0) (-2.39268e-09 -2.61921e-08 1.21742e-06))
    moment(pressure, viscous)((0 0 0) (-1.20252e-07 5.99465e-07 1.26537e-08))


amuzeshi November 7, 2019 08:40

Hi Hamed,
Quote:

Originally Posted by Hamed1117 (Post 748743)
...but the deviation gap is widening over time

Are you sure that it is not only a visualization problem? (Read this post.)
Quote:

Originally Posted by Hamed1117 (Post 748743)
The other confusing point is that the current time step is 1e-5 with 0.0034 Co number, but ...

Have you turned on adjustableTimeStep in system/controlDict? This makes dT as big as possible based on maxCo entry which is also specified in system/controlDicrt.
Quote:

Originally Posted by Hamed1117 (Post 748743)
Furthermore, the inlet patch is far from the FSI interface at the beginning, ...

If your initial velocity field (specified in 0/fluid/U.internalField) is not (0 0 0), then it is logical to see deformation right after the simulation starts.

Regards
Ali

Daniel_Khazaei November 7, 2019 12:50

Quote:

Originally Posted by Hamed1117 (Post 749063)
First, you’re right. The solver is getting problem with the omega field, that’s why the bounding term came in. This problem can be solved if I use fixed value velocity through inlet instead of being required to use time series velocity.

Hi,

Does your case run properly when you solve for the fluid only case? How this so called time dependent velocity is formulated for inlet? Is the velocity variation smooth enough to prevent velocity jump during simulation?

If you are not sure the fluid part is producing stable and accurate solution, then heading directly to the fsi case can drastically increase time to diagnose the actual reason behind this behavior.

From past I recall that one should use combined pulsatile pressure/velocity boundary condition at inlet and outlet to obtain physically correct results.

Quote:

Originally Posted by Hamed1117 (Post 749063)
Second, following your suggestions, I just reduce the Tolerance for the FSI loop within each time-step from 1e-6 to 1e-3, and the solver takes a few quick iterations for convergence, and that’s much better right now. But, the deviation in between the interfaces is getting larger, and I hope that would be its maximum value.

Just be careful with loosening the fsi convergence tolerance!
You can do this when you are trying to determine the cause of instabilities but set it back to a tighter value when you are ready to run the final case.

As you have already observed, loosening the fsi tolerance may provide faster simulation but it also results in large gap between interfaces and your simulation will probably crash do the accumulation of errors. Specially in these cases as the simulation is strongly coupled with a low elastic modulus and density ratio ~ O(1).

Quote:

Originally Posted by Hamed1117 (Post 749063)
If you mean the interfaces deviation gap, the time series velocity profile seems to be related problem as well. I don’t have that much deviation gap when I use fixed value velocity at the inlet patch.
I feel that the solver doesn’t work fine with some time series velocity BC.

Well there is a time dependent BC already implemented within solids4Foam toolkit which suggest the should not be any problem with time dependent BCs on the solver side.

Quote:

Originally Posted by Hamed1117 (Post 749063)
In sum, as I mentioned before, the procedure sounds to be much better now, but the deviation gap is widening over time, and I think this is becuase the FSI tolerance (1e-3) is too much. Lower FSI tolerance (1e-6), however, demands many iterations.

Already answered this above, loosening fsi tolerance comes with a serious side effects. If you look into the HronTurekFsi3 tutorials, as strongly coupled case it needs 12-16 fsi iterations to converge in each time step and this is achieved by turning off the coupled switch which allow the fluid part to solve for a stable solution before starting to transfer the forces and receiving displacements.

One more thing, try setting pimple outer loop correction to 1 and see what happens.

Quote:

Originally Posted by Hamed1117 (Post 749063)
The other confusing point is that the current time step is 1e-5 with 0.0034 Co number, but if I take it 2-3 times bigger, the solver simply crashes.
Furthermore, the inlet patch is far from the FSI interface at the beginning, and it should take some time for flow field to reach there. But, the interface starts to move short after the start time.

Are you starting the simulation at rest?
What is the forces values being transferred to solid side at the beginning of the simulation before solving the fluid region?

I strongly suggest providing better initial condition for fluid region before starting a coupled solution.
If the velocity is pulsatile then run the fluid region for a single cycle before turning the coupled switch on.

Finally, why I don't see pressure equation getting solved in your log file?
It is just missing from the log or you are some how managed not to solve for it?


Regards,
D. Khazaei


All times are GMT -4. The time now is 05:38.