Anda di halaman 1dari 9

Universitat Politècnica de Catalunya

Master’s degree in
Numerical Methods in Engineering

Internship report

Gabriel Valdés Alonzo

Supervisor: Vicente Mataix Ferrándiz


Professor: Riccardo Rossi
1 Introduction
In the scope of the Master of Numerical Methods in Engineering, an industrial training is posed as a compulsory
requirement in order to achieve the degree. This is done with the idea to focus all the theoretical input given
through courses and put them to work in real life applications, such as different research areas related to the
topic.

In this report the process of the internship in the Kratos group will be explained. Kratos Multiphysics is frame-
work designed to solve finite element problems of different disciplines. In order to achieve this, the software is
written with a modularity approach, relying on a finite element core for the main computation. This allows the
distribution of the development between topics without any interference, and also provides a way to use the
software only with the capabilities needed for a particular problem. The framework is written in C++ and is
developed currently between CIMNE and the Technical University of Munich.

The topic developed during the internship was Contact Structural Mechanics. Contact mechanics is not a topic
per se since it’s considered a constraint on a typical solid mechanics problem, so in the Kratos structure is
developed as a module complementing the structural mechanics development. At the time of the beginning
of the internship the basis of the module was implemented, as well as a functioning 3D approach to it based
on mortar methods. The 2D approach was also implemented but incomplete due to the lack of a derivative
computation function, which was the main objective to develop during the course of this internship.

1.1 Objectives
The main objectives that were projected for the internship are outlined:

• Improve and help in the design of the current GiD contact interface, for the structural application of
Kratos Multiphysics.
• Understand how Kratos Multiphysics works, the Object-Oriented Programming structure of the code and
the modularity of the design.

• Understand the current contact implementation and formulation in the structural application.
• Improve the current formulation in 2D, defining the proper derivatives in order to achieve a quadratic
convergence.
• Define and compute test corresponding to that implementations.

• Use that new implementation in order to solve standardized benchmarks.

1.2 Carried tasks


In order to fulfil the objectives posed for the internship, the following task were assigned:
• Familiarization with GiD interface for Kratos: small examples were developed in order to understand how
the software processes contact mechanics and how to apply it in a regular case.
• Implementation of the code for 2D derivatives for the Contact Mechanics application in Kratos. This was
done in C++ following the mortar method outlined in the Ph.D. thesis of Alexander Popp (Popp 2012).

• Testing of the developed code. After the derivatives were implemented they needed to be tested in order
to check if they provide realistic results. Kratos has an integrated test suite which can be used to debug
code, and some cases were written in an existent derivative testing suite in order to check the convergence
of the 2D case.

• Running benchmark cases to test the accuracy. After the derivatives where implemented some cases with
known results were ran in order to make comparisons between Kratos and some verified data. This cases
where taken from some previous implementations as can be seen in articles and thesis (Poulios and Renard
2015; Drouet 2015).

1
2 Obtained results
2.1 Implementation
The results obtained from the internship can be shown through the coding of the application and the benchmark
tests done in it. The equations to be implemented on the code were

∆Φj (ξ (1) (ηg )) = Φj,d ∆d+ Φj,d ∆ξ (1) (ηg ),


(1) (1)
∆Nk (ξ (1) (ηg )) = Nk,ξ ∆ξ (1) (ηg ),
(2) (2)
∆Nl (ξ (2) (ηg )) = Nl,ξ ∆ξ (2) (ηg ),
where the first one is already implemented in 3D and has no change in 2D. The derivatives of the shape functions
can be implemented both in an analogous way on both contact surface given the relation
1 1 (i)
∆ξ (i) (ηg ) = (1 − ηg )∆ξa(i) + (1 + ηg )∆ξb ,
2 2
(i) (i)
where ∆ξa or ∆ξb are computed the same as
1
∆ξa(2) = − Pne 
P e
nm
 ·
(2) (2) (2) (2) (2) (2)

l=1 Nl,ξ (ξa )xl
m
nya
l=1 Nl,ξ (ξa )yl nxa
 e   e 
nm   nm  
(2) (2) (2) (2)
X X
 Nl (ξa(2) )∆xl − ∆x(1)
a
 nya −  Nl (ξa(2) )∆yl − ∆ya(1)  nxa
l=1 l=1
 e   e  
nm   nm  
(2) (2) (2) (2)
X X
+ N (ξa(2) )x
l l − x(1)
a
 ∆nya −  N (ξa(2) )y − ya(1)  ∆nxa  ,
l l
l=1 l=1

when the mortar node is a projection of the slave node onto the master surface, and as
num
∆ξa(1) = ,
denom
with
 e
 e

ns ns
(1) (1) (1)
X X
denom = −  Nk,ξ (ξa(1) )xk   Nk (ξa(1) )nyk 
k=1 k=1
  
nes nse

(1) (1) (1)


X X
+ Nk,ξ (ξa(1) )yk   Nk (ξa(1) )nxk 
k=1 k=1
  
nes e
ns
X (1) (1)
 X (1)
− Nk (ξa(1) )xk − x(2)
a
 Nk,ξ (ξa(1) )nyk 
k=1 k=1
  
nes e
ns
X (1) (1)
 X (1)
− Nk (ξa(1) )yk − ya(2)   Nk,ξ (ξa(1) )nxk 
k=1 k=1

and

2
 e
 e

ns   ns
(1) (1) (1)
X X
num =  Nk (ξa(1) )∆xk − ∆x(2)
a
 Nk (ξa(1) )nyk 
k=1 k=1
  
nes nse
X (1) (1)
 X (1)
− Nk (ξa(1) )∆yk − ∆ya(2)   Nk (ξa(1) )nxk 
k=1 k=1
  
nes nes
X (1) (1)
 X (1)
+ Nk (ξa(1) )xk − x(2)
a
 Nk (ξa(1) )∆nyk 
k=1 k=1
  
nes e
ns
X (1) (1)
 X (1)
− Nk (ξa(1) )yk − ya(2)   Nk (ξa(1) )∆nxk  ,
k=1 k=1

when the mortar node is a projection on the slave node. The values are already computed by the software
previously due to them being used also in the 3D case and in other applications in Kratos.

2.2 Code testing


The results can be seen when the test cases are run:
| / |
’ / __ | _ ‘ | __ | _ \ __ |
. \ | ( | | ( |\ __ \
_ |\ _ \ _ | \ __ , _ |\ __ |\ ___ / ____ /
Multi - Physics 5.3.0 -9 c97007a7 - Debug
Importing KratosExternalSolversApplication
Initializing K r a t o s E x t e r n a l S o l v e r s A p p l i c a t i o n ...
Importing KratosStructuralMechanicsApplication
KRATOS ___ | | | |
\ ___ \ __ | __ | | | __ | __ | | | __ | _ ‘ | |
| | | | | ( | | | | ( | |
_____ / \ __ | _ | \ __ , _ |\ ___ |\ __ |\ __ , _ | _ | \ __ , _ | _ | MECHANICS
Importing KratosContactStructuralMechanicsApplication
TestTestAALMProcess1 OK .

TestTestCheckRotation OK .

TestTestDualShapeFunctionDerivativesLine1 OK .

TestTestDualShapeFunctionDerivativesLine2 OK .

TestTestJacobianDerivativesLine1 OK .

TestTestJacobianDerivativesLine2 OK .

TestTestNormalDerivativesLine1 OK .

TestTestNormalDerivativesLine2 OK .

TestTestShapeFunctionDerivativesLine1 OK .

TestTestShapeFunctionDerivativesLine2 OK .

TestTestShapeFunctionDerivativesLine3 OK .

TestTestShapeFunctionDerivativesLine4 OK .

Ran 34 of 223 test cases in 1.92823 s . OK .


KRATOS TERMINATED CORRECTLY

In here, it can be seen that the different cases implemented give the quadratic convergence needed, since the
program threw OK flags everywhere without giving any warnings or values, which means that tolerances have
been met in all cases.

2.3 Benchmark tests


For a benchmark test, three cases were run: a half-ring of an elastic material falling into a solid surface, where
the displacement of the middle point is studied in time; an ironing example where a solid material is rubbed
through a steel surface, where contact stresses are studied; and a final third case, similar to the second but with
different meshing parameters.

3
2.3.1 Half-ring
After running the code for contact mechanics, some deformation stages are shown:

(a) (b)

(c) (d)

(e)

Figure 1: vertical deformation stages for half-ring.

This same result can be plotted in an evolution graph considering the bottom half-point of the ring, compared
to results from previous works (Drouet 2015):

4
(a) Kratos case. (b) Drouet case.

Figure 2: time evolution of deformation.

As can be seen from the images, there is a natural deformation occurring in the rubber half ring, which is
the shape expected and obtained in the previous results mentioned earlier. As for the vertical deformation
in the middle, the comparison of plots in figure 2 show that the shape obtained is similar, but the values are
different, which is caused mainly by different choices of referent points, as well as possible differences in materials
definitions. It is worth mentioning that after some steps the computation crashed always at the time, which
was caused by big deformation gradients that couldn’t be handled by the software.

2.3.2 Shallow ironing 1


The first of the ironing cases is displayed next:

(b)
(a)

(c) (d)

Figure 3: movement of die over iron surface.

Also, time evolution of the contact stress is plotted:

5
Figure 4: time evolution of contact stress.

Again, in a graphical sense the results are corresponding to reality, since we see an adequate deformation that
follows the ironing die as it passes. The convergence in this case was always correct and the results were always
the one shown in here. For a more quantitative analysis, the value of contact stress is shown in the plot, which
cannot be compared to anything since the values provided in the reference referred to a contact reaction, which
couldn’t be extracted from GiD. In the plot it can be seen the linear progression of the contact stress which
follows basically the linear progression of displacements in the die (which path follows first a vertical descent and
then a horizontal displacement) and then tends to stabilize around a certain value but with some oscillations
that don’t provide much certainty in the results.

2.3.3 Shallow ironing 2


The same exercise is repeated with a different mesh:

(b)
(a)

(c) (d)

Figure 5: movement of die over iron surface.

Again the time progress is plotted:

6
Figure 6: time evolution of contact stress.

In here it is seen that the results are very much similar to the first case, with the die moving along the surface
giving similar patterns of deformations as the ones seen before. The difference between the two ironing die
cases it is seen in the time plot of contact stress, which is somewhat more stable in the second case, due to
the oscillations being smaller. The stable value for the contact stress is less than the first case, which can be
attributed to many factors, such as sizes of the die, different values for displacements or different properties of
the materials.

3 Conclusions
During the previous report, the implementation of the derivatives of the shape function for the case in 2D
has been shown in the frame of the internship for the Master in Numerical Methods in Engineering. Based in
previous works in mortar methods (Popp 2012) the equations were adapted to the Kratos framework and later
tested in order to see if the implementation was working correctly. Results are shown which indicate that the
derivatives give some realistic results, but not very similar to the ones posed by previous works studied (Drouet
2015; Poulios and Renard 2015).

For future work, some corrections need to be done. The code is clearly working but there are some edged
that need to be refined in order to get the expected results. During all this computations it was considered that
the variation of the normal is inexistent, which can give some error in the computation. It is worth mentioning
that this is not a direct problem with the software, but mainly because on how stuff is defined, and a restruc-
turation would be needed to address this issue. Also more testing is needed, in order to address particular cases
or errors that can go undetected on the benchmark tests performed in here.

7
References
Belitschko, T. et al. (2014). Nonlinear finite elements for continua and structures. 2nd edition. Wiley.
Drouet, G. (2015). “Méthode locale de type mortar pour le contact dans le cas de maillages incompatibles de
degré élevé”. Ph.D. Thesis. Université de Toulouse.
Konyukhov, A. and K. Schweizerhof (2013). Computational contact mechanics: gemoetrically exact theory for
arbitrary shaped bodies. Springer.
Laursen, T. (2002). Computational contact and impact mechanics. 1st edition. Springer.
Popp, A. (2012). “Mortar Methods for Computational Contact Mechanics and General Interface Problems”.
Ph.D. Thesis. Technischen Universität München.
Poulios, K. and Y. Renard (2015). “An unconstrained integral approximation of large sliding frictional contact
between deformable solids”. In: Computers and Structures 153, pp. 75–90.
Raous, M. (2016). “Art of Modeling in Contact Mechanics”. In: pp. 1–78.
Wriggers, P. and U. Nackenhorst. Lecture notes in applied and computational mechanics. Springer.
Yastrebov, V. (2011). “Computational contact mechanics: geometry, detection and numerical techniques”. Ph.D.
Thesis. École nationale supérieure des mines de Paris.
Zienkiewicz, O.C. et al. (2013). The finite element method, its basis and fundamentals. 7th edition. Elsevier.
— (2014). The finite element method for solid and structural mechanics. 7th edition. Elsevier.

Anda mungkin juga menyukai