Contact Mechanics - More than 2 contact pairs

Numerical methods and mathematical models of Elmer
Post Reply
MFeMult
Posts: 6
Joined: 11 Sep 2017, 16:36
Antispam: Yes

Contact Mechanics - More than 2 contact pairs

Post by MFeMult »

Dear Forum,

it is possible to simulate two different parts in contact with each other while one contact pair (2 boundaries) exists.
I know, that several examples exist here... https://github.com/ElmerCSC/elmerfem/tr ... /fem/tests

However, is it possible to apply more than one contact pair?
Or is one contact pair still state of the art in Elmer?
If so, is it planned to integrate multiple pair contact in Elmer?

Cheers
Manuel
raback
Site Admin
Posts: 4812
Joined: 22 Aug 2009, 11:57
Antispam: Yes
Location: Espoo, Finland
Contact:

Re: Contact Mechanics - More than 2 contact pairs

Post by raback »

Hi

I would think that you can have several contact pairs. However, the pairs should rather not share nodes. The stretch we have with contact mechanics stumbled on some problems related to such cases. So if the sets are independent that should work.

-Peter
MFeMult
Posts: 6
Joined: 11 Sep 2017, 16:36
Antispam: Yes

Re: Contact Mechanics - More than 2 contact pairs

Post by MFeMult »

Hey Peter,

alright, finally I found time to investigate my problem again.
Thank you for your reply, it pushed me trying again.

After I figured out, that everybody involved must be thread with contact description, I managed to simulate 3 bodies in contact. I thought that it should be possible to have two bodies in contact (so identical nodes) to be thread like in a "normal continuum" simulation. However, it doesn't seem like.

So in a nutshell again: I have three different materials of whom actually just two are going to have mechanical contact issues. The third one is "just in normal" continuum contact. The bodies which are in contact have two different contact pairs.
Thus, I have three bodies, six contact BCs (three pairs). The left block is in motion. The other two blocks are "fixed".

So finally I just have to add additional physics. Jehy :)

Cheers,
Manuel
Attachments
problem.png
(87.39 KiB) Not downloaded yet
MFeMult
Posts: 6
Joined: 11 Sep 2017, 16:36
Antispam: Yes

Re: Contact Mechanics - More than 2 contact pairs

Post by MFeMult »

Hey,

me again. How am I able to "transfer" also other independent variables than the mechanical displacement into other bodies? I am especially interested in the Electric Potential and the Temperature (flux).

I tried it this way, but it does not work:
Do not be irritated by the index number of the boundaries...

Code: Select all

Boundary Condition 5
  Name = "Contact niet block"
  Target Boundaries(1) = 6
  !Mortar is slave
  Mortar BC = 7
  Mortar BC Nonlinear = Logical True
  Mortar BC Initial Contact Depth = -0.0
  Slide Contact = Logical True
  Dynamic Friction Coefficient = 0.001
  !Contact Velocity(3) = Real 0.0 0.0 0.0
  Plane Projector = Logical True
  Galerkin Projector = Logical True
  Normal Temperature = Logical True
  Normal Potential = Logical True
  Normal-Tangential Displacement = Logical True
  Mass Consistent Normals = Logical True
	
  Save Scalars = True
End

Boundary Condition 7
  Name = "BlockTop"
  Target Boundaries(1) = 7

  Normal Temperature = Logical True
  Normal Potential = Logical True
  Normal-Tangential Displacement = Logical True
  Mass Consistent Normals = Logical True
End
End
raback
Site Admin
Posts: 4812
Joined: 22 Aug 2009, 11:57
Antispam: Yes
Location: Espoo, Finland
Contact:

Re: Contact Mechanics - More than 2 contact pairs

Post by raback »

Hi

There is a infrastructure in Elmer that can create projectors between boundaries. Some are strong (node-to-surface), but the better ones are weak (galerkin, surface-to-surface). Basically these create conditions how dofs on either side of the boundary (say a and b) are expressed in terms of the other ones, say Ru_a=Qu_b, or in short Pu=0.

Now when in the solver section you define "Apply Contact BCs = True" the code tries to enforce nonequality constraints Pu>=0, but when you say "Apply Mortar BCs = True", you enforce equality constraints Pu=0. For the temperature you would do the latter one. There are plenty of examples of the mortar BCs as well.

The periodic BCs are an automated way to enforce the strong conditions. They are earlier developments. The advantage of the strong projector is that it may be used to eliminate the dofs and thereby maintain the matrix structure.

-Peter
MFeMult
Posts: 6
Joined: 11 Sep 2017, 16:36
Antispam: Yes

Re: Contact Mechanics - More than 2 contact pairs

Post by MFeMult »

Hey Peter,

it works. Merci.

Here is the specific and relevant code:

Code: Select all

!----------SOLVERS-------------
Solver 2
  Equation = "NonlinElast"
  Procedure = "ElasticSolve" "ElasticSolver"
  Variable = -dofs 2 Displacement

  Nonlinear System Convergence Tolerance = 1.0e-6
  Nonlinear System Max Iterations = 30
  Nonlinear System Relaxation Factor = 1.0

  Linear System Solver = "Iterative"
  Linear System Preconditioning = Ilu0
  Linear System Residual Output = 10
  Linear System Max Iterations = 5000
  Linear System Iterative Method = GCR !Bicgstab
  Linear System Convergence Tolerance = 1.0e-5

  Calculate Stresses = Logical True
  
  Linear System Residual Mode = Logical True
  Nonlinear System Convergence Without Constraints = Logical True

  Apply Mortar BCs = Logical True
End

Solver 3
  Equation = Heat Equation
  Procedure = "HeatSolve" "HeatSolver"
  Variable = Temperature
  Exec Solver = Always
  Stabilize = True
  Bubbles = False
  Lumped Mass Matrix = False
  Optimize Bandwidth = True
  Steady State Convergence Tolerance = 1.0e-5
  Nonlinear System Convergence Tolerance = 1.0e-7
  Nonlinear System Max Iterations = 20
  Nonlinear System Newton After Iterations = 3
  Nonlinear System Newton After Tolerance = 1.0e-3
  Nonlinear System Relaxation Factor = 1
  Linear System Solver = Iterative
  Linear System Iterative Method = BiCGStab
  Linear System Max Iterations = 500
  Linear System Convergence Tolerance = 1.0e-10
  BiCGstabl polynomial degree = 2
  Linear System Preconditioning = Diagonal
  Linear System ILUT Tolerance = 1.0e-3
  Linear System Abort Not Converged = False
  Linear System Residual Output = 1
  Linear System Precondition Recompute = 1
  
  Apply Mortar BCs = Logical True  
End

Solver 4
  Equation = Stat Current Solver
  Procedure = "StatCurrentSolve" "StatCurrentSolver"
  Variable = Potential
  Exec Solver = always
  Variable DOFs = 1
  Calculate Joule Heating = True
  Calculate Electric Conductivity = True
  Linear System Solver = Iterative
  Linear System Iterative Method = CG
  Linear System Preconditioning = ILU3
  Linear System Max Iterations = 1000
  Linear System Convergence Tolerance = 1.0e-3
  !Linear System Convergence Tolerance = 1.0e-8
  Nonlinear System Max Iterations = 1
  Nonlinear System Convergence Tolerance = 1.0-6
  Nonlinear System Newton After Iterations = 3
  Nonlinear System Newton After Tolerance = 1.0e-12
  Nonlinear System Relaxation Factor = 1.0
  Steady State Convergence Tolerance = 1.0e-6
  
  Apply Mortar BCs = Logical True  
End

!----------BCs-------------

Boundary Condition 5
  Name = "Contact niet block"
  Target Boundaries(1) = 6

  Level Projector = Logical True
  Galerkin Projector = Logical True
  Plane Projector = Logical True

  Mortar BC = 7
  Mortar BC Displacement = Logical True  
  Mortar BC Temperature = Logical True
  Mortar BC Potential = Logical True  
End

Boundary Condition 7
  Name = "BlockTop"
  Target Boundaries(1) = 7
End
Cheers,
Manuel
Post Reply