abaqus user element implementation of nurbs based
play

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


  1. 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 des Contacts et des Structures, France 6 th European Congress on Computational Methods in Applied Science and Engineering Vienna, Austria – Sep. 10 th - Sep. 14 th 2012 1 / 22

  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

  3. T. Elguedj abqNURBS 09/12/2012 ECCOMAS 2012 Outline Introduction 1 Introduction Implementation FEA vs. IGA Multiple patches 2 Implementation Input files Procedure and GUI FEA vs. IGA Numerical Multiple patches examples Input files Linear elasticity Nonlinear material models Procedure and GUI Conclusions 3 Numerical examples Linear elasticity Nonlinear material models 4 Conclusions and future work 3 / 22

  4. T. Elguedj abqNURBS 09/12/2012 ECCOMAS 2012 Introduction Introduction Isogeometric Analysis is based on the geometric primitives of CAD: NURBS and Implementation FEA vs. IGA T-splines. It includes standard FEA as a Multiple patches special case, but offers other possibilities: Input files Procedure and GUI Precise and efficient geometric Numerical modeling examples Linear elasticity Simplified mesh refinement Nonlinear material models Smooth basis functions with compact support Conclusions Superior approximation properties Accurate derivatives and stresses Integration of design and analysis Application in industry requires its implementation in commercial soft- ware 4 / 22

  5. T. Elguedj abqNURBS 09/12/2012 ECCOMAS 2012 Introduction Introduction Implementation Several commercial FE packages provide user element capabilities. FEA vs. IGA Multiple patches Input files Abaqus User ELement and User ELement with abaqus MATerial Procedure and GUI subroutine offers the possibility to introduce arbitrary elements into abaqus using user defined material models (UEL) or most of the Numerical examples material models available in the software (UELMAT). Linear elasticity Nonlinear material UEL can be defined with arbitrary shape functions, node numbers, models polynomial order and integration points. Conclusions 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

  6. T. Elguedj abqNURBS 09/12/2012 ECCOMAS 2012 Outline Introduction 1 Introduction Implementation FEA vs. IGA Multiple patches 2 Implementation Input files Procedure and GUI FEA vs. IGA Numerical Multiple patches examples Input files Linear elasticity Nonlinear material models Procedure and GUI Conclusions 3 Numerical examples Linear elasticity Nonlinear material models 4 Conclusions and future work 6 / 22

  7. T. Elguedj abqNURBS 09/12/2012 ECCOMAS 2012 Single patch implementation Introduction Implementation Start Loop through elements FEA vs. IGA Multiple patches Input files Read input K e = 0 and F e = 0 data Procedure and GUI Loop through quadrature Numerical Build connectivities and allocate points global arrays examples Linear elasticity Evaluate basis functions Nonlinear material and derivatives models K = 0 and F = 0 Add contributions to Conclusions K e and F e Solve Kd = F Assemble K e K Write and F e F output data Stop 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

  8. T. Elguedj abqNURBS 09/12/2012 ECCOMAS 2012 FEA vs. IGA data Introduction Finite Element Analysis NURBS based IGA Implementation FEA vs. IGA node coordinates control points coordinates Multiple patches Input files element type polynomial degree Procedure and GUI element connectivity (ID, IEN element connectivity (ID, IEN, Numerical and LM) LM, INC ) examples Linear elasticity integration rule integration rule Nonlinear material models control points weights Conclusions 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 on element type. 8 / 22

  9. T. Elguedj abqNURBS 09/12/2012 ECCOMAS 2012 Connectivity Introduction Given a basis function (i.e. control point) number and a parametric Implementation direction, the INC array returns the NURBS coordinate. FEA vs. IGA Multiple patches Given a local basis function number and element number, the IEN Input files Procedure and GUI array returns the global basis function number. Numerical Given a global basis function number and degree of freedom number, examples the ID array returns the equation number. Linear elasticity Nonlinear material models Conclusions 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

  10. T. Elguedj abqNURBS 09/12/2012 ECCOMAS 2012 Connectivity Introduction Given a basis function (i.e. control point) number and a parametric Implementation direction, the INC array returns the NURBS coordinate. FEA vs. IGA Multiple patches Given a local basis function number and element number, the IEN Input files Procedure and GUI array returns the global basis function number. Given a global basis function number and degree of freedom number, Numerical examples the ID array returns the equation number. Linear elasticity Nonlinear material models Conclusions The INC array is used in the pre-processing step to construct IEN but only 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

  11. T. Elguedj abqNURBS 09/12/2012 ECCOMAS 2012 Multi-patch implementation Introduction Implementation Start Loop through patches FEA vs. IGA Multiple patches Input files Read global Read patch input data input data Procedure and GUI Loop through elements Build connectivities and allocate on the current patch Numerical global arrays examples K e = 0 and F e = 0 Linear elasticity K = 0 and F = 0 Nonlinear material models Loop through quadrature points Conclusions Evaluate basis functions and derivatives Add contributions to K e and F e Solve Kd = F Assemble K e K and F e F Write output data Stop 10 / 22

  12. T. Elguedj abqNURBS 09/12/2012 ECCOMAS 2012 Multi-patch implementation Introduction The outer loop on patches cannot be used within abaqus. Implementation For simplicity we only support C 0 coupling with conforming meshes. FEA vs. IGA Multiple patches The connectivity arrays for all patches are generated in the Input files Procedure and GUI pre-processing step. Then a global reordering of the elements and control points is done Numerical examples with a merging of CP on patch interfaces. Linear elasticity Nonlinear material The .inp file is generated for the whole domain as for a single patch. models Patch data is passed in the .NB file. Conclusions 10 / 22 If two knot vectors formed from open knot vectors are brought together, the

  13. T. Elguedj abqNURBS 09/12/2012 ECCOMAS 2012 .inp file Introduction *HEADING Implementation **Job name:test.txt FEA vs. IGA **abqNURBS - Laboratoire de Mecanique des Contacts et des Structures - INSA-Lyon Multiple patches *Part, name=Piece Input files *USER ELEMENT, NODES= ncpelt , TYPE=U p , COORDINATES= d , variables= size of SVARS , Procedure and GUI INTEGRATION= ngelt , TENSOR= PSTRAIN or THREED 1,2 for 2D, 1,2,3 for 3D *Node,nset=AllNode ->list of control points Numerical cpnb, X-coordinate, Y-coordinate, Z-coordinate examples *Element, type=U p , elset=AllEls -> list of elements Linear elasticity eltnb, CP1, CP2, CP3, ... Nonlinear material models *ELSET,ELSET=EltPAtch1 -> set of all the elements list of elements nb *NSET,NSET=SetCPFace i -> set of control points used for Dirichlet BC Conclusions 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

Recommend


More recommend