Abaqus User Element implementation of NURBS based Isogeometric - - PowerPoint PPT Presentation

abaqus user element implementation of nurbs based
SMART_READER_LITE
LIVE PREVIEW

Abaqus User Element implementation of NURBS based Isogeometric - - PowerPoint PPT Presentation

T. Elguedj abqNURBS 09/12/2012 ECCOMAS 2012 Abaqus User Element implementation of NURBS based Isogeometric Analysis T. Elguedj 1 , A. Duval 1 , F. Maurin 1 , H. Al Akhras 1 1 Universit e de Lyon, CNRS INSA-Lyon, Laboratoire de M ecanique


slide-1
SLIDE 1
  • T. Elguedj

abqNURBS 09/12/2012 ECCOMAS 2012

Abaqus User Element implementation of NURBS based Isogeometric Analysis

  • T. Elguedj1,
  • A. Duval1,
  • F. Maurin1,
  • H. Al Akhras1

1Universit´

e de Lyon, CNRS INSA-Lyon, Laboratoire de M´ ecanique des Contacts et des Structures, France 6th European Congress on Computational Methods in Applied Science and Engineering Vienna, Austria – Sep. 10th - Sep. 14th 2012

1 / 22

slide-2
SLIDE 2
  • T. Elguedj

abqNURBS 09/12/2012 ECCOMAS 2012

Outline

1 Introduction 2 Implementation

FEA vs. IGA Multiple patches Input files Procedure and GUI

3 Numerical examples

Linear elasticity Nonlinear material models

4 Conclusions and future work

2 / 22

slide-3
SLIDE 3

Introduction Implementation

FEA vs. IGA Multiple patches Input files Procedure and GUI

Numerical examples

Linear elasticity Nonlinear material models

Conclusions

  • T. Elguedj

abqNURBS 09/12/2012 ECCOMAS 2012

Outline

1 Introduction 2 Implementation

FEA vs. IGA Multiple patches Input files Procedure and GUI

3 Numerical examples

Linear elasticity Nonlinear material models

4 Conclusions and future work

3 / 22

slide-4
SLIDE 4

Introduction Implementation

FEA vs. IGA Multiple patches Input files Procedure and GUI

Numerical examples

Linear elasticity Nonlinear material models

Conclusions

  • T. Elguedj

abqNURBS 09/12/2012 ECCOMAS 2012

Introduction

Isogeometric Analysis is based on the geometric primitives of CAD: NURBS and T-splines. It includes standard FEA as a special case, but offers other possibilities: Precise and efficient geometric modeling Simplified mesh refinement Smooth basis functions with compact support Superior approximation properties Accurate derivatives and stresses Integration of design and analysis Application in industry requires its implementation in commercial soft- ware

4 / 22

slide-5
SLIDE 5

Introduction Implementation

FEA vs. IGA Multiple patches Input files Procedure and GUI

Numerical examples

Linear elasticity Nonlinear material models

Conclusions

  • T. Elguedj

abqNURBS 09/12/2012 ECCOMAS 2012

Introduction

Several commercial FE packages provide user element capabilities. Abaqus User ELement and User ELement with abaqus MATerial subroutine offers the possibility to introduce arbitrary elements into abaqus using user defined material models (UEL) or most of the material models available in the software (UELMAT). UEL can be defined with arbitrary shape functions, node numbers, polynomial order and integration points. All the standard finite element data can be passed in the .inp input file. Additional data can be passed as common variables using User EXTERNAL DataBase (UEXTERNALDB) routines.

5 / 22

slide-6
SLIDE 6

Introduction Implementation

FEA vs. IGA Multiple patches Input files Procedure and GUI

Numerical examples

Linear elasticity Nonlinear material models

Conclusions

  • T. Elguedj

abqNURBS 09/12/2012 ECCOMAS 2012

Outline

1 Introduction 2 Implementation

FEA vs. IGA Multiple patches Input files Procedure and GUI

3 Numerical examples

Linear elasticity Nonlinear material models

4 Conclusions and future work

6 / 22

slide-7
SLIDE 7

Introduction Implementation

FEA vs. IGA Multiple patches Input files Procedure and GUI

Numerical examples

Linear elasticity Nonlinear material models

Conclusions

  • T. Elguedj

abqNURBS 09/12/2012 ECCOMAS 2012

Single patch implementation

Start Read input data Build connectivities and allocate global arrays Loop through elements Loop through quadrature points Add contributions to Ke and Fe Assemble Ke K and Fe F Evaluate basis functions and derivatives Solve Kd=F Stop Ke=0 and Fe=0 K=0 and F=0 Write

  • utput data

Figure 3.15 Flowchart of a classical finite element code. Such a code can be converted to a single-patch

J.A. Cottrell, T.J.R. Hughes, Y. Bazilevs Isogeometric Analysis, 2009.

7 / 22

slide-8
SLIDE 8

Introduction Implementation

FEA vs. IGA Multiple patches Input files Procedure and GUI

Numerical examples

Linear elasticity Nonlinear material models

Conclusions

  • T. Elguedj

abqNURBS 09/12/2012 ECCOMAS 2012

FEA vs. IGA data

Finite Element Analysis node coordinates element type element connectivity (ID, IEN and LM) integration rule NURBS based IGA control points coordinates polynomial degree element connectivity (ID, IEN, LM, INC) integration rule control points weights knot vectors Common data can be passed in the .inp abaqus input file. We only consider same polynomial order in all parametric directions, therefore element type defines the degree. Gauss quadrature is defined a priori based

  • n element type.

8 / 22

slide-9
SLIDE 9

Introduction Implementation

FEA vs. IGA Multiple patches Input files Procedure and GUI

Numerical examples

Linear elasticity Nonlinear material models

Conclusions

  • T. Elguedj

abqNURBS 09/12/2012 ECCOMAS 2012

Connectivity

Given a basis function (i.e. control point) number and a parametric direction, the INC array returns the NURBS coordinate. Given a local basis function number and element number, the IEN array returns the global basis function number. Given a global basis function number and degree of freedom number, the ID array returns the equation number. The IEN array is directly passed in the .inp file with the standard element connectivity. The ID array is generated by abaqus based on the boundary conditions and number of DOF per CP.

9 / 22

slide-10
SLIDE 10

Introduction Implementation

FEA vs. IGA Multiple patches Input files Procedure and GUI

Numerical examples

Linear elasticity Nonlinear material models

Conclusions

  • T. Elguedj

abqNURBS 09/12/2012 ECCOMAS 2012

Connectivity

Given a basis function (i.e. control point) number and a parametric direction, the INC array returns the NURBS coordinate. Given a local basis function number and element number, the IEN array returns the global basis function number. Given a global basis function number and degree of freedom number, the ID array returns the equation number. The INC array is used in the pre-processing step to construct IEN but

  • nly a part of it is necessary in the shape function routine. For each

element and parametric direction we only need the NURBS coordinate of the first local basis function. We replace INC by a new array called NIJK. Given an element number and a parametric direction, the NIJK array returns the NURBS coordinate of the first local basis function.

9 / 22

slide-11
SLIDE 11

Introduction Implementation

FEA vs. IGA Multiple patches Input files Procedure and GUI

Numerical examples

Linear elasticity Nonlinear material models

Conclusions

  • T. Elguedj

abqNURBS 09/12/2012 ECCOMAS 2012

Multi-patch implementation

Start Read global input data Build connectivities and allocate global arrays Loop through elements

  • n the current patch

Loop through quadrature points Add contributions to Ke and Fe Assemble Ke K and Fe F Evaluate basis functions and derivatives Solve Kd=F Stop Ke=0 and Fe=0 K=0 and F=0 Write

  • utput data

Loop through patches Read patch input data

10 / 22

slide-12
SLIDE 12

Introduction Implementation

FEA vs. IGA Multiple patches Input files Procedure and GUI

Numerical examples

Linear elasticity Nonlinear material models

Conclusions

  • T. Elguedj

abqNURBS 09/12/2012 ECCOMAS 2012

Multi-patch implementation

The outer loop on patches cannot be used within abaqus. For simplicity we only support C0 coupling with conforming meshes. The connectivity arrays for all patches are generated in the pre-processing step. Then a global reordering of the elements and control points is done with a merging of CP on patch interfaces. The .inp file is generated for the whole domain as for a single patch. Patch data is passed in the .NB file.

If two knot vectors formed from open knot vectors are brought together, the

10 / 22

slide-13
SLIDE 13

Introduction Implementation

FEA vs. IGA Multiple patches Input files Procedure and GUI

Numerical examples

Linear elasticity Nonlinear material models

Conclusions

  • T. Elguedj

abqNURBS 09/12/2012 ECCOMAS 2012

.inp file

*HEADING **Job name:test.txt **abqNURBS - Laboratoire de Mecanique des Contacts et des Structures - INSA-Lyon *Part, name=Piece *USER ELEMENT, NODES=ncpelt, TYPE=Up, COORDINATES=d, variables=size of SVARS, INTEGRATION=ngelt, TENSOR=PSTRAIN or THREED 1,2 for 2D, 1,2,3 for 3D *Node,nset=AllNode ->list of control points cpnb, X-coordinate, Y-coordinate, Z-coordinate *Element, type=Up, elset=AllEls -> list of elements eltnb, CP1, CP2, CP3, ... *ELSET,ELSET=EltPAtch1 -> set of all the elements list of elements nb *NSET,NSET=SetCPFacei -> set of control points used for Dirichlet BC list of control points lying on the i-th face *ELSET, ELSET=SetEltFacei -> set of elements used for Neumann BC list of elements belonging to the i-th face *UEL PROPERTY, ELSET=EltPatch1, MATERIAL=MAT ->assign the material to the set of all elements *End Part ** ASSEMBLY *Assembly, name=Assembly *Instance, name=I1, part=Piece *End Instance *End Assembly 11 / 22

slide-14
SLIDE 14

Introduction Implementation

FEA vs. IGA Multiple patches Input files Procedure and GUI

Numerical examples

Linear elasticity Nonlinear material models

Conclusions

  • T. Elguedj

abqNURBS 09/12/2012 ECCOMAS 2012

.inp file

**MATERIAL *MATERIAL,NAME=MAT *Elastic Young’s modulus value, Poisson’s ratio value *STEP,extrapolation=NO,NLGEOM=YES or NO *Static ** BOUNDARY CONDITIONS ->list of Dirichlet boundary conditions *Boundary I1.SetCPFacei, direction of the imposed BC, direction of the imposed BC, value imposed. ** LOADS ->list of Neumann boundary conditions *Cload I1.SetFacei, key for selecting element face, value imposed. ** OUTPUT REQUESTS *node file, frequency=1 U,RF,CF *el file, frequency=1 SDV *End Step 11 / 22

slide-15
SLIDE 15

Introduction Implementation

FEA vs. IGA Multiple patches Input files Procedure and GUI

Numerical examples

Linear elasticity Nonlinear material models

Conclusions

  • T. Elguedj

abqNURBS 09/12/2012 ECCOMAS 2012

.NB file

*DIMENSION 2 or 3 * total nb of elements nelt *nb of patches nbpatch *nb of elements per patch neltp1, neltp2, ... *data for patch i number of knots for parametric direction j knot vector for parametric direction j *NIJK array based on global domain element numbering eltnb, nijk1, nijk2, nijk3 *list of CP weights based on global domain CP numbering CPnb, weight 12 / 22

slide-16
SLIDE 16

Introduction Implementation

FEA vs. IGA Multiple patches Input files Procedure and GUI

Numerical examples

Linear elasticity Nonlinear material models

Conclusions

  • T. Elguedj

abqNURBS 09/12/2012 ECCOMAS 2012

Procedure

1

Pre-processing Matlab pre-processor based on Geopdes. Handles 2D, 3D single and multi-patch cases. Rhino plugin for multi-patch 2D cases (imposition of BC, material definition).

2

Analysis

3

Post-processing

13 / 22

slide-17
SLIDE 17

Introduction Implementation

FEA vs. IGA Multiple patches Input files Procedure and GUI

Numerical examples

Linear elasticity Nonlinear material models

Conclusions

  • T. Elguedj

abqNURBS 09/12/2012 ECCOMAS 2012

Procedure

1

Pre-processing

2

Analysis GUI for selecting IGA input files. Interactive job execution using our IGA user element.

3

Post-processing

13 / 22

slide-18
SLIDE 18

Introduction Implementation

FEA vs. IGA Multiple patches Input files Procedure and GUI

Numerical examples

Linear elasticity Nonlinear material models

Conclusions

  • T. Elguedj

abqNURBS 09/12/2012 ECCOMAS 2012

Procedure

1

Pre-processing

2

Analysis

3

Post-processing Request output of the results in a raw ASCII file .fil (CP data, internal variables). GUI user interface for selecting input and output files and post-processing parameters. Abaqus python and C++ scripting interface to perform projection on a finer FE mesh. (Internal variables are first projected onto CP using global least-square if needed). Generate a projected output database binary file .odb readable in abaqus CAE.

13 / 22

slide-19
SLIDE 19

Introduction Implementation

FEA vs. IGA Multiple patches Input files Procedure and GUI

Numerical examples

Linear elasticity Nonlinear material models

Conclusions

  • T. Elguedj

abqNURBS 09/12/2012 ECCOMAS 2012

Graphical User Interface

movie 14 / 22

slide-20
SLIDE 20

Introduction Implementation

FEA vs. IGA Multiple patches Input files Procedure and GUI

Numerical examples

Linear elasticity Nonlinear material models

Conclusions

  • T. Elguedj

abqNURBS 09/12/2012 ECCOMAS 2012

Outline

1 Introduction 2 Implementation

FEA vs. IGA Multiple patches Input files Procedure and GUI

3 Numerical examples

Linear elasticity Nonlinear material models

4 Conclusions and future work

15 / 22

slide-21
SLIDE 21

Introduction Implementation

FEA vs. IGA Multiple patches Input files Procedure and GUI

Numerical examples

Linear elasticity Nonlinear material models

Conclusions

  • T. Elguedj

abqNURBS 09/12/2012 ECCOMAS 2012

Linear elasticity: single patch horseshoe

E= 100 000MPa, ν = 0.3, imposed displacement of ud = +/ − 1ex.

T.J.R. Hughes, J.A. Cottrell, Y. Bazilevs Isogeometric analysis: CAD, finite elements, NURBS, exact geometry and mesh refinement. Computer Methods in Applied Mechanics and Engineering, vol. 194, p. 4135–4195, 2005.

16 / 22

slide-22
SLIDE 22

Introduction Implementation

FEA vs. IGA Multiple patches Input files Procedure and GUI

Numerical examples

Linear elasticity Nonlinear material models

Conclusions

  • T. Elguedj

abqNURBS 09/12/2012 ECCOMAS 2012

Linear elasticity: single patch horseshoe (cont’d)

σzz on initial configuration σzz on deformed configuration

17 / 22

slide-23
SLIDE 23

Introduction Implementation

FEA vs. IGA Multiple patches Input files Procedure and GUI

Numerical examples

Linear elasticity Nonlinear material models

Conclusions

  • T. Elguedj

abqNURBS 09/12/2012 ECCOMAS 2012

Linear elasticity: multipatch cylinder

Cylinder submitted to internal pressure, geometry defined with 4 patches. R = 2m, r = 1m, E = 100000MPa, ν = 0.3, p=10MPa. Von Mises stress on deformed configuration undeformed geometry and mesh.

18 / 22

slide-24
SLIDE 24

Introduction Implementation

FEA vs. IGA Multiple patches Input files Procedure and GUI

Numerical examples

Linear elasticity Nonlinear material models

Conclusions

  • T. Elguedj

abqNURBS 09/12/2012 ECCOMAS 2012

Small strain plasticity: plane strain cylinder

Cylinder submitted to internal pressure, elastic vs. perfectly plastic case. R = 2m, r = 1m, E=200000MPa, ν = 0.3, σy=200MPa, p=145MPa. Von Mises stress pure elastic case (σmin

vm = 85MPa ; σMAX vm

=335MPa) Von Mises stress perfectly plastic case (σmin

vm = 116MPa ;

σMAX

vm

=200MPa)

19 / 22

slide-25
SLIDE 25

Introduction Implementation

FEA vs. IGA Multiple patches Input files Procedure and GUI

Numerical examples

Linear elasticity Nonlinear material models

Conclusions

  • T. Elguedj

abqNURBS 09/12/2012 ECCOMAS 2012

Outline

1 Introduction 2 Implementation

FEA vs. IGA Multiple patches Input files Procedure and GUI

3 Numerical examples

Linear elasticity Nonlinear material models

4 Conclusions and future work

20 / 22

slide-26
SLIDE 26

Introduction Implementation

FEA vs. IGA Multiple patches Input files Procedure and GUI

Numerical examples

Linear elasticity Nonlinear material models

Conclusions

  • T. Elguedj

abqNURBS 09/12/2012 ECCOMAS 2012

Conclusions

We have a proposed an implementation of NURBS based IGA in the abaqus FEA commercial package. The implementation is able to handle single and multiple patches (C0 continuity across compatible patch boundaries). Thank to UELMAT we can directly use most material models available in abaqus for small and large deformation (NLGEOM). Post processing capabilities are available directly into abaqus CAE using Python/C++ scripting interface. Preliminary work on pre-processing allow us to provide a GUI for 2D cases and matlab for 3D.

21 / 22

slide-27
SLIDE 27

Introduction Implementation

FEA vs. IGA Multiple patches Input files Procedure and GUI

Numerical examples

Linear elasticity Nonlinear material models

Conclusions

  • T. Elguedj

abqNURBS 09/12/2012 ECCOMAS 2012

Future work

Improve the way necessary extra data can be passed on (i.e. outside the .inp file). Introduce Bezier extraction as an alternative. Include temperature for thermal or thermo-mechanical analysis, further test NLGEOM and material models as well as dynamics. Released as open source under the CeCILL license in a few days.

http://abqnurbs.insa-lyon.fr

22 / 22