Elmer beginner here, I've been playing around with a box case to get the hang of it. Files are below.
Issue I have is, if I change the mesh to a similar but less uniform version, the simulation goes from working perfectly to diverging. Everything else is kept the same and both meshes were generated the same way from the same geometry, only change was in the minimum element size when meshing. The attached case has the working mesh, the one that diverges is in the separate file.
The result that works is as expected, the force in the bottom displaces it uniformly, as in the left of the image. The diverged case goes a bit wild.
What could be causing such different behaviour from similar meshes? Am I missing something obvious?
Issue with convergence with similar meshes
Issue with convergence with similar meshes
- Attachments
-
- bad_mesh.zip
- bad mesh
- (64.29 KiB) Downloaded 25 times
-
- box.zip
- Case with "good" mesh
- (23.82 KiB) Downloaded 25 times
-
- Posts: 2237
- Joined: 25 Jan 2019, 01:28
- Antispam: Yes
Re: Issue with convergence with similar meshes
Elastic solvers are very dependent on mesh quality. The linear tet is never used for, linear triangles are also not used.
Inconsistent terms in the interpolation functions of linear elements make shear strains much different from zero. The non-zero artificial shear strains absorb much energy making the element stiffer. To alleviate shear locking you can: 1) use finer mesh of standard linear elements; 2) use standard high-order elements; 3) use incompatible (non standard) elements designed for anti shear locking.
Hexahedron elements and quads are preferred, if tets and triangles are necessary they must be higher order elements. You were probably just on the edge of converging with the first mesh.
Also in elastic solvers iterative solutions are not necessary, you can use direct methods.
Inconsistent terms in the interpolation functions of linear elements make shear strains much different from zero. The non-zero artificial shear strains absorb much energy making the element stiffer. To alleviate shear locking you can: 1) use finer mesh of standard linear elements; 2) use standard high-order elements; 3) use incompatible (non standard) elements designed for anti shear locking.
Hexahedron elements and quads are preferred, if tets and triangles are necessary they must be higher order elements. You were probably just on the edge of converging with the first mesh.
Also in elastic solvers iterative solutions are not necessary, you can use direct methods.
Re: Issue with convergence with similar meshes
Thank you for the suggestion!
Couldn't get better results with higher order, but direct method did the trick for me.
Couldn't get better results with higher order, but direct method did the trick for me.
-
- Posts: 2237
- Joined: 25 Jan 2019, 01:28
- Antispam: Yes
Re: Issue with convergence with similar meshes
Direct methods will provide a solution, but it may not be an accurate solution. Accuracy still depends on mesh quality and possibly higher order elements. You should model some know solutions to get a feel for element types, density, and order to obtain accurate solutions for your problem.
-
- Site Admin
- Posts: 4812
- Joined: 22 Aug 2009, 11:57
- Antispam: Yes
- Location: Espoo, Finland
- Contact:
Re: Issue with convergence with similar meshes
Hi
How about trying the block solver strategy. In serial this could work:
-Peter
How about trying the block solver strategy. In serial this could work:
Code: Select all
! These choose the overall block strategies
!-----------------------------------------
Linear System Solver = block
!Block Solver = Logical True
!Block Preconditioner = Logical True
Block Gauss-Seidel = Logical True
Block Matrix Reuse = Logical True
! Linear system solver for outer loop
!-----------------------------------------
Outer: Linear System Solver = string "Iterative"
Outer: Linear System Convergence Tolerance = real 1e-8
Outer: Linear System Iterative Method = string GCR
Outer: Linear System GCR Restart = Integer 50
Outer: Linear System Residual Output = integer 1
Outer: Linear System Max Iterations = integer 500
Outer: Linear System Timing = True
! Linear system solver for blocks
!-----------------------------------------
Block 11: Linear System Solver = multigrid
Block 22: Linear System Solver = multigrid
Block 33: Linear System Solver = multigrid
Linear System Convergence Tolerance = 1.0e-05
Linear System Max Iterations = 500
Multigrid Levels = Integer 10
!--- basic algebraic multigrid iteration stuff
MG Levels = Integer 10
MG Smoother = String sgs
MG Pre Smoothing Iterations(1) = 1
MG Post Smoothing Iterations(1) = 1
!--- cluster MG specific parameters
MG Method = String cluster
MG Cluster Size = Integer 0
MG Cluster Alpha = Real 1.7
MG Strong Connection Limit = Real 0.01
! MG Strong Connection Minimum = Integer 4
MG Max Iterations = Integer 2