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
Contact Mechanics - More than 2 contact pairs
-
- Site Admin
- Posts: 4832
- Joined: 22 Aug 2009, 11:57
- Antispam: Yes
- Location: Espoo, Finland
- Contact:
Re: Contact Mechanics - More than 2 contact pairs
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
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
Re: Contact Mechanics - More than 2 contact pairs
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
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
Re: Contact Mechanics - More than 2 contact pairs
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...
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
-
- Site Admin
- Posts: 4832
- Joined: 22 Aug 2009, 11:57
- Antispam: Yes
- Location: Espoo, Finland
- Contact:
Re: Contact Mechanics - More than 2 contact pairs
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
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
Re: Contact Mechanics - More than 2 contact pairs
Hey Peter,
it works. Merci.
Here is the specific and relevant code:
Cheers,
Manuel
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
Manuel