CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Community Contributions > OpenFOAM CC Toolkits for Fluid-Structure Interaction

[solids4Foam] solver settings for unsLinearGeometry

Register Blogs Community New Posts Updated Threads Search

Like Tree4Likes
  • 1 Post By bigphil
  • 1 Post By bigphil
  • 1 Post By bigphil
  • 1 Post By Neb

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   January 14, 2021, 01:19
Default solver settings for unsLinearGeometry
  #1
New Member
 
Join Date: May 2010
Posts: 18
Rep Power: 15
Barry is on a distinguished road
Hi,

I am using solids4Foam to obtain displacements for a complex geometry. The mesh has a combination of hexahedra and polyhedra cells and the total cell count is 1.8 mil. Even after 4 hours, the 24 core parallel solver runs only 1100 iterations at the first time step and not converged. A few settings of the case are:
"linearGeometryTotalDisplacementCoeffs|unsLinearGe ometryCoeffs"
{ nCorrectors 10000;
solutionTolerance 1e-06;
alternativeTolerance 1e-07;
materialTolerance 1e-05;
infoFrequency 100;
}
solvers
{
D
{
solver PCG;
preconditioner FDIC;
tolerance 1e-09;
relTol 0.01;
}
}
'Harmonic' interpolation is set for impK.

May I know if any of the above settings are not suitable for complex geometry or is it that the solver cannot handle combination of hexahedra and polyhedra cells? Appreciate any help or views on this.

Thanks
Barry is offline   Reply With Quote

Old   January 15, 2021, 07:26
Default
  #2
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,089
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
Hi Barry,

Can you give more details on your case? For example, a simple sketch of the problem showing the boundary conditions and materials properties.

Lack of convergence can be due to one of several issues, including:
  • Inappropriate boundary conditions
  • Inappropriate material properties
  • Poor mesh
  • Mistake in geometry scaling
  • Or if the problem is particularly difficult for some reason e.g. very large strains

Philip
bigphil is offline   Reply With Quote

Old   January 18, 2021, 02:43
Default
  #3
New Member
 
Join Date: May 2010
Posts: 18
Rep Power: 15
Barry is on a distinguished road
Thanks for your reply Phil.
In the attached, left fig shows geometry used for simulations and the right fig is zoom in version of a joint. Three colors in the left fig indicate mesh resolutions that differ by a level with coarser being at the bottom. The boundary conditions are time varying traction for the top two parts and fixed displacement for the bottom part and indicated in the left fig.

The solidModel is 'unsLinearGeometry' and the specifications are mentioned in the above query. The solidProperties specified are
mechanical
(
steel
{
type linearElastic;
rho rho [1 -3 0 0 0 0 0] 700;
E E [1 -1 -2 0 0 0 0] 2e+9;
nu nu [0 0 0 0 0 0 0] 0.3;
}
);

From this info, is it possible to infer reasons for non-convergence?

B
Attached Images
File Type: jpg 3parts_zoomin.jpg (41.8 KB, 40 views)
Barry is offline   Reply With Quote

Old   January 18, 2021, 03:01
Default
  #4
New Member
 
Join Date: May 2010
Posts: 18
Rep Power: 15
Barry is on a distinguished road
In addition to the above, may I know what's the difference between linearGeometryTotalDisplacement and linearGeometry?
Barry is offline   Reply With Quote

Old   January 28, 2021, 17:39
Default
  #5
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,089
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
Quote:
Originally Posted by Barry View Post
In addition to the above, may I know what's the difference between linearGeometryTotalDisplacement and linearGeometry?
Both linearGeometryTotalDisplacement and linearGeometry are almost the same with the difference being that linearGeometryTotalDisplacement solves for total displacement, D, whereas linearGeometry solves for increment of displacement, DD i.e. change in displacement from the old time to the current time.

Both should give the same answer but there may be a difference in the convergence and speed.
Chanikya_Valeti likes this.
bigphil is offline   Reply With Quote

Old   February 8, 2021, 22:09
Default
  #6
New Member
 
anaspauzi's Avatar
 
Anas Muhamad Pauzi
Join Date: Nov 2019
Posts: 16
Rep Power: 6
anaspauzi is on a distinguished road
Hi,

I'm also having same problem, just wondering why for high density, stiffness material it runs very slow.

I've tried changing the material in the HronTurek tutorials from rubber to steel, and set for linearElastic model but takes too long for my laptop.

Any tips to run FSI for steel-water?

Tq
anaspauzi is offline   Reply With Quote

Old   February 9, 2021, 05:25
Default
  #7
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,089
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
Quote:
Originally Posted by anaspauzi View Post
Hi,

I'm also having same problem, just wondering why for high density, stiffness material it runs very slow.

I've tried changing the material in the HronTurek tutorials from rubber to steel, and set for linearElastic model but takes too long for my laptop.

Any tips to run FSI for steel-water?

Tq
I have noticed similar behaviour. To begin with you can probably loosen the FSI outer loop tolerance in fsiProperties; this should reduce the number of FSI iterations and help speed it up.

Philip
anaspauzi likes this.
bigphil is offline   Reply With Quote

Old   February 11, 2021, 05:43
Default
  #8
New Member
 
anaspauzi's Avatar
 
Anas Muhamad Pauzi
Join Date: Nov 2019
Posts: 16
Rep Power: 6
anaspauzi is on a distinguished road
Quote:
Originally Posted by bigphil View Post
I have noticed similar behaviour. To begin with you can probably loosen the FSI outer loop tolerance in fsiProperties; this should reduce the number of FSI iterations and help speed it up.

Philip
Thank you Philip for the suggestion. The number of outer iteration did improve, but still the simulation is very slow in solving the momentum equation.

I've tried changing the material model to St Venant Kirchhoff, it keeps on giving the same as NeoHookean

Quote:
Evolving solid solver
Enforcing linear geometry: minJ: 1.63158e+09, maxJ: 9.79459e+18
--> FOAM Warning :
From function void StVenantKirchhoffElastic::correct(surfaceSymmTenso rField& sigma)
in file materialModels/mechanicalModel/mechanicalLaws/mechanicalLaw/mechanicalLaw.C at line 511
Material linearity enforced for stability!
Corr 0, relative residual = 1
--> FOAM Warning :
From function void StVenantKirchhoffElastic::correct(surfaceSymmTenso rField& sigma)
in file materialModels/mechanicalModel/mechanicalLaws/mechanicalLaw/mechanicalLaw.C at line 511
Material linearity enforced for stability!
--> FOAM Warning :
From function void StVenantKirchhoffElastic::correct(surfaceSymmTenso rField& sigma)
in file materialModels/mechanicalModel/mechanicalLaws/mechanicalLaw/mechanicalLaw.C at line 511
Material linearity enforced for stability!
--> FOAM Warning :
From function void StVenantKirchhoffElastic::correct(surfaceSymmTenso rField& sigma)
in file materialModels/mechanicalModel/mechanicalLaws/mechanicalLaw/mechanicalLaw.C at line 511
Material linearity enforced for stability!
Changing to linearElastic would not give the above error.
By the way, how could I tail -f the displacement if run in parallel? it keep on showing 0 displacement.

Thank you
anaspauzi is offline   Reply With Quote

Old   May 12, 2021, 12:59
Default
  #9
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,089
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
Quote:
Originally Posted by anaspauzi View Post
By the way, how could I tail -f the displacement if run in parallel? it keep on showing 0 displacement.
What displacement are you referring to?

Philip
bigphil is offline   Reply With Quote

Old   May 12, 2021, 13:29
Default
  #10
New Member
 
anaspauzi's Avatar
 
Anas Muhamad Pauzi
Join Date: Nov 2019
Posts: 16
Rep Power: 6
anaspauzi is on a distinguished road
Quote:
Originally Posted by bigphil View Post
What displacement are you referring to?

Philip
Hi Philip,

Thanks for the reply, I'd solve the error in the point displacement function by reinstalling the solids4Foam.

I'm facing two problem in trying to simulation vibration of steel in water.

1.Do you have any tips on reducing the numerical damping? I've used the backward temporal discretization and tried reducing the displacement solution tolerance in the solidProperties.

2. There seem to be small fluctuations in the displacement, and when I to set a case with vibration inside a water would cause larger fluctuation in flow velocity and diverge the simulation. How to remove this fluctuation?

Thank you
anaspauzi is offline   Reply With Quote

Old   May 14, 2021, 15:02
Default
  #11
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,089
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
Quote:
Originally Posted by anaspauzi View Post
Hi Philip,

Thanks for the reply, I'd solve the error in the point displacement function by reinstalling the solids4Foam.

I'm facing two problem in trying to simulation vibration of steel in water.

1.Do you have any tips on reducing the numerical damping? I've used the backward temporal discretization and tried reducing the displacement solution tolerance in the solidProperties.

2. There seem to be small fluctuations in the displacement, and when I to set a case with vibration inside a water would cause larger fluctuation in flow velocity and diverge the simulation. How to remove this fluctuation?

Thank you
1. In my experience, the "backward" scheme is highly dispersive when used for solids (it generates a lot of noise and instability unless your time-step is small). So you could use a smaller time-step with Euler, but this time-step may be prohibitively small depending on your cases; alternatively you can implement a better 2nd order time-scheme (on my to-do list for some time!).

2. This may be related to the backward scheme (see point 1). If not, then I cannot say what the sources of the fluctuations without knowing more about the case. When using water the fluid/solid density becomes larger which makes it more difficult for the FSI coupling procedure; smaller initial FSI relaxation factors may help.

Philip
anaspauzi likes this.
bigphil is offline   Reply With Quote

Old   May 17, 2022, 11:34
Default
  #12
Neb
Member
 
Join Date: Mar 2020
Posts: 66
Rep Power: 6
Neb is on a distinguished road
Quote:
Originally Posted by bigphil View Post
Both linearGeometryTotalDisplacement and linearGeometry are almost the same with the difference being that linearGeometryTotalDisplacement solves for total displacement, D, whereas linearGeometry solves for increment of displacement, DD i.e. change in displacement from the old time to the current time.

Both should give the same answer but there may be a difference in the convergence and speed.
Dear prof. Cardiff,
I'm working on a tube with poisson 0.45, young's modulus equal to 1.5 * 10 ^ 6. I impose a velocity at the inlet that varies over time and a pressure at the outlet that depends on the flow at the outlet. I noticed that the two solid models (linearGeometry and unsLinearGeometry) don't give me the same deformation. In the linearGeometry case I get what I want, with unsLinearGeometry instead I have an expansion of the tube that remains fixed over time. It's possible?
Neb is offline   Reply With Quote

Old   May 17, 2022, 15:39
Default
  #13
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,089
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
Quote:
Originally Posted by Neb View Post
Dear prof. Cardiff,
I'm working on a tube with poisson 0.45, young's modulus equal to 1.5 * 10 ^ 6. I impose a velocity at the inlet that varies over time and a pressure at the outlet that depends on the flow at the outlet. I noticed that the two solid models (linearGeometry and unsLinearGeometry) don't give me the same deformation. In the linearGeometry case I get what I want, with unsLinearGeometry instead I have an expansion of the tube that remains fixed over time. It's possible?
Can you reproduce this behaviour using the 3dTube tutorial?
An if so, which version of OpenFOAM are you using?

All the linear geometry solid models should approach the same answer as the mesh is refined.
bigphil is offline   Reply With Quote

Old   May 18, 2022, 12:14
Default
  #14
Neb
Member
 
Join Date: Mar 2020
Posts: 66
Rep Power: 6
Neb is on a distinguished road
Thanks for the quick reply.

Quote:
Originally Posted by bigphil View Post
Can you reproduce this behaviour using the 3dTube tutorial?
An if so, which version of OpenFOAM are you using?
In the 3dTube tutorial the answers are identical. I am using Openfoam-7. If I modify the 3dTube tutorial with my fluid boundary conditions , I get a constant dilation over time in the case of the unsLinearGeometry model, variable in the linearGeometry model.


My fluid boundary conditions are:
velocity
- pulsatile inlet velocity with backflow
- Outlet: advective
- on the wall: newMovingWallVelocity
Pressure
-Inlet: zeroGradient;
-Otlet: pressure variable over time according to the flow rate
-wall:extrapolatedPressure.

The boundary conditions on the solid are the same as in the tutorial.
I had to change IQNILS to Aitken, because the simulation exploded.
This simulation aims to reproduce the blood flow in the artery.
Chanikya_Valeti likes this.
Neb is offline   Reply With Quote

Old   May 24, 2022, 04:59
Default
  #15
Neb
Member
 
Join Date: Mar 2020
Posts: 66
Rep Power: 6
Neb is on a distinguished road
Quote:
Originally Posted by bigphil View Post
Can you reproduce this behaviour using the 3dTube tutorial?
An if so, which version of OpenFOAM are you using?

All the linear geometry solid models should approach the same answer as the mesh is refined.
Prof. Cardiff,
I have run other simulations with more refined meshes, I have reduced the tolerance on the equation of the moment of the equation on the solid and I now get the explosion of the simulation. The forces exchanging at the interface are too high. I augmented the young module and so the simulation works, but I don't get the correct displacements. So I need to work with my young module. I tried using IQNILS, delaying coupling, but it doesn't work. I have tried to use a hyperelastic solid model, but I always get the explosion of the simulation.
I also did separate solid and fluid simulations and they work.

Do you have any suggestions for me?

Thanks for your time.
Neb is offline   Reply With Quote

Old   June 9, 2022, 10:26
Default
  #16
Neb
Member
 
Join Date: Mar 2020
Posts: 66
Rep Power: 6
Neb is on a distinguished road
Quote:
Originally Posted by bigphil View Post
Can you reproduce this behaviour using the 3dTube tutorial?
An if so, which version of OpenFOAM are you using?

All the linear geometry solid models should approach the same answer as the mesh is refined.
Dear Prof. Cardiff,
I go back to asking for help with my simulations.
I changed mesh, now I have a tube bent at 90° to simulate blood flow in an artery. I notice the following behavior during the simulation: to reach the convergence on the fsi loop with a tolerance of 10 ^ - 2, it takes more than 100000 cycles and, during these cycles, the Courant number increases, until the explosion. I cannot understand the reason for this behavior. Is there any way to speed up the simulation? I used the fixedRelaxation coupling method with value 10 ^ -5, other methods and higher values ​​don't work.

The same simulation but with straight pipe works without problems.

Thank you for your time, I really need to unlock this if you can give me any suggestions.
Neb is offline   Reply With Quote

Old   June 15, 2022, 11:56
Default
  #17
Neb
Member
 
Join Date: Mar 2020
Posts: 66
Rep Power: 6
Neb is on a distinguished road
Hello,
how can i map the weights of AMI?
Neb is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
icoFoam Courant number growth problem tdof OpenFOAM Running, Solving & CFD 12 May 24, 2023 14:00
Details Fluent Solver Settings for Marine Propeller Performance Hayatul_Maruf FLUENT 3 July 5, 2018 14:08
Working directory via command line Luiz CFX 4 March 6, 2011 20:02
Two equation turbulence models solver settings truffaldino FLUENT 0 March 5, 2011 20:49
HP Turbine Flow simulation Solver settings Puneet FLUENT 1 August 10, 2003 05:00


All times are GMT -4. The time now is 12:08.