Issue with convergence with similar meshes

Numerical methods and mathematical models of Elmer
Post Reply
lango
Posts: 2
Joined: 25 May 2023, 09:47
Antispam: Yes

Issue with convergence with similar meshes

Post by lango »

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.
results.png
(409.97 KiB) Not downloaded yet
What could be causing such different behaviour from similar meshes? Am I missing something obvious?
Attachments
bad_mesh.zip
bad mesh
(64.29 KiB) Downloaded 25 times
box.zip
Case with "good" mesh
(23.82 KiB) Downloaded 25 times
kevinarden
Posts: 2237
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: Issue with convergence with similar meshes

Post by kevinarden »

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.
lango
Posts: 2
Joined: 25 May 2023, 09:47
Antispam: Yes

Re: Issue with convergence with similar meshes

Post by lango »

Thank you for the suggestion!

Couldn't get better results with higher order, but direct method did the trick for me.
kevinarden
Posts: 2237
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: Issue with convergence with similar meshes

Post by kevinarden »

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.
raback
Site Admin
Posts: 4812
Joined: 22 Aug 2009, 11:57
Antispam: Yes
Location: Espoo, Finland
Contact:

Re: Issue with convergence with similar meshes

Post by raback »

Hi

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
-Peter
Post Reply