08 Advanced Nonlinear

download 08 Advanced Nonlinear

of 59

Transcript of 08 Advanced Nonlinear

  • Code_Aster, Salome-Meca course materialGNU FDL licence (http://www.gnu.org/copyleft/fdl.html)

    Advanced non-linear analysis

  • 2 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Outline

    Description of non-linear problems

    Theoretical elements for solving non-linear problems

    Solving non-linear problems with Newton

    Using Code_Aster

  • 3 - Code_Aster and Salome-Meca course material GNU FDL Licence

    What is a non-linear problem in mechanics ?

  • 4 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Non-linear problems

    Non-linearities come from :

    Kinematic (movement and strains) : large displacement, large rotation, large strains

    Material : non-linear response, history-dependent response

    Contact/friction

    The three non-linearities should been coupled

    Numerical simulation require expert analysis

  • 5 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Non-linear material

    Material non-linearityExperimental identification : identify macroscopical response force/displacement

    Most materials are non-linear and/or history dependent

  • 6 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Non-linear materialDisplacement/force function is not linear but not history dependent

    F

    uA

    B

    CResponse

    u

    tA

    B

    CPrescribed

    displacement

    F

    tA

    B

    CPrescribed

    force

    ba.u(u)with(u)F +=

    F(A) F(C)u(A) u(C)

    =

    =

  • 7 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Non-linear materialDisplacement/force function is not linear and history dependent

    Residual displacementNext loading : initial

    displacement 0 0 0 0

    u

    tA

    B

    CPrescribed

    displacement

    F

    tA

    B

    CPrescribed

    force

    F

    uA

    B

    CResponse

    ba.u(u)with(u)F +=

    u(A) u(C)

  • 8 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Non-linear kinematic

    Truss/beams/shells elements with large rotation and/or largedisplacements

    E: Young modulusA: sectionL: lengthF: loadu: displacementk: rigidity of the spring

    EA

    F

    lx

    zkF

    u

    Response

  • 9 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Non-linear contact/friction

    Contact and friction: a very difficult non-linear problem

    1

    c

    2

    Response(Signorini contact)

    Response(Coulomb friction)

    pn

    g

    pt

    vpn: normal pressurept: tangent pressureg: distance between solids (gap)v: tangential speed between solids

  • 10 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Some theoretical elements

  • 11 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Equations Continuous form

    Measure of stress : Cauchy (true) stress

    Measure of strain : for finite strain, it's an arbirtray choice, depending on behavior law

    For small strain

    Cauchy stress : measure on deformed configuration

    SF

    S

    =

    0lim

    0

    000 0

    limSF

    S

    =

    t

    t

    St SF

    t

    =

    0lim

    tF0F

    ( )uuu t+=21)(

  • 12 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Equations Continuous form

    Defining solid which is in equilibrium with external forces is external boundaryu to apply prescribed displacement udg to apply prescribed force gc to define contact/frictionf is volumic force

    ud

    g

    f

    g

    c

    u

    ==

    =+

    ccfud

    g

    onuLonuu

    ongninfdiv

    )(

    .

    0

  • 13 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Equations Finite element approximation

    Main shapes for elements :segment, triangle, quadrangle, hexaedron, tetraedron, pyramid, prism

    linear or quadratic (curved or straight edges)

    Geometry discretization :Coordinates in elementDiscretized coordinates at nodesShape functions

    x

    yx2y2

    x1y1

    x3y3

    { }x { }ix[ ]gN

    { } [ ]{ }ig xNx .=

  • 14 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Equations Finite element approximation

    Discretization of the unknowns:Unknowns depending on physic : displacement for mechanics temperature forthermic, ...Displacements in elementDiscretized displacement at nodesShape functions

    We suppose isoparametric elements

    u2v2

    u1v1

    u3v3

    { }u{ }iu[ ]uN

    { } [ ]{ }iu uNu .=

    [ ] [ ] [ ]ug NNN ==

  • 15 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Equations Finite element approximation

    Weak form of equilibrium (weighted residuals) :Find with :

    Virtual displacements and virtual strains

    With space of kinematically admissible displacements :

    With space of virtual displacements :

    The weak form is the mechanical concept of virtual powerGalerkin form : and

    uEu

    { } [ ]{ }iuNu ~.~ ={ } [ ]{ }iuNu .=

    uEu ~~

    + = g

    duugduufduu .~:)(.~:)().~(:)(

    uE

    ( )uuu t ~~21)~( +=u~

    { }udu XuXuwithuE == )(

    { }uu XXuwithuE == 0)(~~~uE~

  • 16 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Equations Finite element approximation

    Non-linear problem : stress depending on displacement From displacement u to strain : kinematic non-linearityFrom strain to stress : material non-linearity

    Non-linear material

    Non-linear material depending on material's history (plasticity,...) :

    Internal variables

    ))(()( uu =

    ))(,()( uu =

    )(u

  • 17 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Equations Finite element approximation

    Numerical quadrature : to compute continuous som, using a Gauss approximation

    Stress, strain and internal variables : discretized at numerical points (quantities post_fixed by _ELGA in Code_Aster)

    Displacement : discretized at nodes (quantities post_fixed by _NOEU in Code_Aster)

    =

    pointsnb

    1k ..

    kkd

    X

    1

    1

    v

    u

    2

    2

    v

    u

    3

    3

    v

    u

    k

    k

    k

    X

    k

    k

    k

    X

    k

    k

    k

    X

  • 18 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Equations Finite element approximation

    Computation of internal forces

    Non-linear internal forces : depending on

    Non-linear kinematic

    Non-linear material

    { } [ ]{ })(.)()().~(:)( int uuQuLduu =

    u

    [ ])(uQ

    { })(u

  • 19 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Equations Finite element approximation

    Computation of external forces

    Non-linear external forces : depending onNon-linear when following forces : pressure always normal toboundary pressure depends on displacement

    p(u) p(u)

    { })(.~:)(.~:)( uLduugduuf extg

    +

    u

  • 20 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Equations Finite element approximation

    Final equilibrium equation : discretized form

    Non-linear equation, depending on u

    { } { } { }0)()(int = uLuL ext

  • 21 - Code_Aster and Salome-Meca course material GNU FDL Licence

    General algorithm for non-linear problem

  • 22 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Solving non-linear problem

    To solve non-linear problem : an incremental algorithmProblem is parametrized by the parameter tt is not real time (quasi-static problem)

    Why parametrization ?Real boundary conditions should been applied by non-constant valuesNon-linear material produced non-linear equation, precision should depends onincremental step sizeAn non-linear problem is easier to solve when cut by small step size

  • 23 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Solving non-linear problem

    Parametrization because boundary conditions should beenapplied by non-constant values

    Some examples of prescribed boundary conditions

    f

    t

    Prescribed volumic force

    Prescribed surfacic force

    g

    tA

    B

    C

    ud

    tA

    B

    CPrescribed

    displacement

  • 24 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Solving non-linear problem

    Parametrization to cut a non-linear problem to decrease degree of non-linearity

    Cutting

  • 25 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Solving non-linear problem

    The parameter t in the equations :Internal forces : dependence with respect to t is implicit, it results from the integration of the constitutive relation in timeExternal forces : dependence with respect to t is explicit (applied BC) or implicit(following forces)

    Time discretization, all quantities are parametrized by step k :

    t0 t1 t2 t3 t4

    1

    Time tStep 2 3 4

    Incremental quantities :

    { } { } { }0))(,())((int = tutLtuL ext

    uuu kk += 1

    intkL

    extkL ku kt k k k

  • 26 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Solving non-linear problem

    Solving a non-linear equation : the Newton's methodConstruction of the seriesTaylor series expansion of the first order

    Next value of the term of the series

    Properties :Quadratic convergence near the solutionComputation of should be very expensive

    0)( =xF( ) Nnnx )).(()()(0 111 += nnnnn xxxFxFxF

    )()(1 1

    11

    =n

    n

    nn xFxF

    xx

    0)( 1 nxF)( 1 nxF

  • 27 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Solving non-linear problem

    Newton's method for equilibrium equation, at step k :

    Internal forces :

    External forces :

    Simplify : we are at step k

    with

    with

    { } { } { }{ } { } { }0))(,())((

    0))(,())((int

    int

    =

    =

    tutLtuLtutLtuL

    ext

    kkkextkk

    )( 1= nnn uuu

    )( 1= nnn uuu

    n

    u

    nn uu

    LLLn

    .1

    int1int,int,

    +

    n

    u

    extnextnext u

    u

    LLLn

    .1

    1,,

    +

  • 28 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Solving non-linear problem

    Newton's method for equilibrium equation, at step k :

    is tangent matrix

    is equilibrium residual

    11

    int1,1int,

    .

    0.1

    =

    =

    +

    nnn

    n

    u

    extnextn

    RuK

    uu

    Lu

    LLLn

    1nK

    1nR

    ( )1int,1,1 = nnextn LLR

    11

    _

    int1

    =

    nn u

    ext

    u

    n

    u

    Lu

    LK

  • 29 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Solving non-linear problem

    Global algorithm :1)Compute internal and external forces2)Compute tangent matrix3)Solve linear system4)Update displacements5)Evaluate convergence

  • 30 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Solving non-linear problem

    Compute internal and external forces :Exact computation is necessary (software requirement)Non-linear behavior is evaluated at each Gauss pointComplex behavior laws computation should be expensivePrecision of computation of some behavior laws should depend onincrement of displacement :

    Visco-plasticityNon-radial loadingPETIT_REAC strain measure

  • 31 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Solving non-linear problem

    Compute tangent matrix :

    Exact computation is NOT necessaryTangent matrix is evaluated at each Gauss pointTangent matrix computation should be expensive

  • 32 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Solving non-linear problem Newton by graphic

    Find the solution where is known and is unknown

    u*

    Lext

    u

    Lint

    u0

    F*

    F0

    *u*F( )**, Fu

  • 33 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Solving non-linear problem Newton by graphic

    Dividing in two increments (reducing degree of non-linearity) :find and

    u*= u2

    Lext

    u

    Lint

    u0

    F*= F2

    F0

    F1

    u1

    *F( )11, Fu ( )22 , Fu

  • 34 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Solving non-linear problem Newton by graphic

    Compute tangent matrix for iteration Newton n and step 1

    u*= u2

    Lext

    u

    Lint

    u0

    F*= F2

    F0

    F1

    u1u1n

    K1n

    nK1

  • 35 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Solving non-linear problem Newton by graphic

    Solving nnn uFFuK 10111 . =

    u*= u2

    Lext

    u

    Lint

    u0

    F*= F2

    F0

    F1

    u1

    K1n

    nu1

  • 36 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Solving non-linear problem Newton by graphic

    Update displacements

    u*= u2

    Lext

    u

    Lint

    u0

    F*= F2

    F0

    F1

    u1u1n

    K1n

    nu1

    nnn uuu 11

    11 +=

  • 37 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Solving non-linear problem Newton by graphic

    Compute and ( )nuL 1int ( )nuLFR 1int1 =

    u*= u2

    Lext

    u

    Lint

    u0

    F*= F2

    F0

    F1

    u1u1n

    K1n

    nu1

    ( )nuL 1int( )nuR 1

  • 38 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Solving non-linear problem Newton by graphic

    Matrix computation Solve system

    Evaluate convergenceUpdate displacements

    Solving non-linear problem Newton by graphic

    1 2

    3 4

    u*= u2

    Lext

    u

    Lint

    u0

    F*= F2

    F0

    F1

    u1u1n

    K1n

    nu1

    ( )nuL 1int( )nuR 1

    u*= u2

    Lext

    u

    Lint

    u0

    F*= F2

    F0

    F1

    u1u1n

    K1n

    nu1

    u*= u2

    Lext

    u

    Lint

    u0

    F*= F2

    F0

    F1

    u1u1n

    K1n

    u*= u2

    Lext

    u

    Lint

    u0

    F*= F2

    F0

    F1

    u1u1n

    K1n

    nu1

  • 39 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Solving non-linear problem

    Matrix computation :True Newton method : is evaluate every step and every Newton iterationQuasi-Newton method : is evaluate every i Newton's iteration and every n time's step

    1

    u*= u2

    Lext

    u

    Lint

    u0

    F*= F2

    F0

    F1

    u1

    True Newton method

    Slope changesevery Newton's iteration

    u*= u2

    Lext

    u

    Lint

    u0

    F*= F2

    F0

    F1

    u1

    Quasi Newton method

    Slope doesn'tchange every Newton's iteration

    niK

    niK

  • 40 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Solving non-linear problem

    Matrix computation :Quasi-Newton method : compute approximate matrix (elastic matrix)

    u*= u2

    Lext

    u

    Lint

    u0

    F*= F2

    F0

    F1

    u1

    True Newton method

    Slope is coherent matrix

    u*= u2

    Lext

    u

    Lint

    u0

    F*= F2

    F0

    F1

    u1

    Quasi Newton method

    Slope is elastic matrix

    1

  • 41 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Solving non-linear problem

    Matrix computation : Why quasi-Newton methods ?

    Compute exact matrix every iteration : matrix must been factorized very expensiveMake more iterations but each iteration is quickerElastic matrix achieve convergence for all standard generalized materials with a lot of iterations (thousands). Elastic matrix is computed and factorized ONE time : very cheapElastic matrix is the better choice for unloading loading's cases

    1

  • 42 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Solving non-linear problem

    Solve system : using direct solver or iterative solver 2

  • 43 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Solving non-linear problem

    Update displacement - Improving by line-search - Method

    Solving is equivalent to minimizing functionalSolving give the direction of the solutionSolving functionnal minimisation give the line-search coefficientUpdate displacements

    3

    11.

    =nnn RuK

    11.

    =nnn RuK nu

    nnn uuu .1 +=

  • 44 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Solving non-linear problem

    Update displacement - Improving by line-search - FunctionalFunctional (scalar) J is :

    With is the density of free energy, for hyperelastic material :

    This functional is convex, minimizing convex function its gradient vanishes :

    Gradient vanishes Virtual power

    Find equilibrium : minimize J scalar functional

    3

    ( )( ) =

    dutdufduuJu .....)(

    ( )( )u

    =

    uEuuuJ ~~0~).( =

    ( ) ( ) uEuduugduufduug

    ~

    ~.

    ~:)(.~:)(.~: +=

  • 45 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Solving non-linear problem

    Update displacement - Improving by line-search - Minimize functional

    Derivative of the functional

    Scalar functional

    Using classical method for minimizing scalar convex function (dichotomyfor instance)

    3

    { } { } { }0)()( 11int =++ nnextnn uuLuuL

    { } { } { }0)()(.)( 11int =++= nnextnnn uuLuuLug

  • 46 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Solving non-linear problem

    Update displacement - Improving by line-search - NotesOnly few iterations : it's not necessary to find exact zero of gOnly compute internal and external forces (no matrix)Algorithms for minimizing scalar function are very efficient and very simple

    3

  • 47 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Solving non-linear problem

    Evaluate convergenceAbsolute (RESI_GLOB_MAXI)

    Relative (RESI_GLOB_RELA)

    By reference : giving stress reference (RESI_REFE_RELA)

    4

    1int,next LL

    ext

    next

    L

    LL 1int,

    refkk

    next LLL .1int,

  • 48 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Using non-linear in Code_Aster

  • 49 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Non-linear in Code_Aster

    Material is steel with Von Mises plasticity with isotropic hardening, traction curve from file

    Steel on all mesh

    FSIGM = LIRE_FONCTION(UNITE=21,PARA='EPSI')

    STEEL = DEFI_MATERIAU( ELAS=_F(YOUNG=210.E9,NU=0.3),TRACTION=_F(SIGM=FSIGM))

    CHMA = AFFE_MATERIAU( MAILLAGE=MESH,AFFE=_F( TOUT='OUI',

    MATER='STEEL'))

  • 50 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Non-linear in Code_Aster

    Plasticity with isotropic hardening, small strains

    RESUN = STAT_NON_LINE(...CHAM_MATER = CHMA,COMP_INCR = _F(

    TOUT ='OUI',RELATION ='VMIS_ISOT_TRAC',DEFORMATION ='PETIT'),

    ...)

  • 51 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Non-linear in Code_Aster

    Loading : parametrized by time Using function in FONC_MULT

    RESUN = STAT_NON_LINE(...EXCIT=_F(CHARGE =LOAD,

    FONC_MULT=RAMPE)...)

    RAMPE = DEFI_FONCTION(PARA='INST',VALE=(0,0,2,2))

    LOAD = AFFE_CHAR_MECA(MODELE=MOD,PRES_REP=_F(PRES=100.,

    GROUP_MA='TOTO'))

    Lext

    t0

    200

    2

    { } { })(.)())(,( uLtgtutL extext =

  • 52 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Non-linear in Code_Aster

    Loading : parametrized by time Using function directly in BC

    RESUN = STAT_NON_LINE(...EXCIT=_F(CHARGE =LOAD)...)

    RAMPE = DEFI_FONCTION(PARA='INST',VALE=(0,0,2,200))

    LOAD = AFFE_CHAR_MECA_F(MODELE=MOD,PRES_REP=_F(PRES=RAMPE,

    GROUP_MA='TOTO'))

    Lext

    t0

    200

    2

    { } { })(.)())(,( uLtgtutL extext =

  • 53 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Non-linear in Code_Aster

    Computing is parametrized by time

    L_INST=DEFI_LIST_REEL( DEBUT=0.0,INTERVALLE=(

    _F(JUSQU_A=1.0,NOMBRE=3,),_F(JUSQU_A=2.0,NOMBRE=2,),

    ),)

    Time t0.0 2.01.0

    RESUN = STAT_NON_LINE(...INCREMENT=_F(LIST_INST=L_INST)...)

  • 54 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Non-linear in Code_Aster

    Loading and time definition must been consistent

    Computation on part of stepRESUN = STAT_NON_LINE(...

    INCREMENT=_F(LIST_INST=L_INST,INST_FIN =1.0)

    ...)

    Time t0.0 2.01.0

    Lext

    t0

    200

    2

    !

  • 55 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Non-linear in Code_Aster Advanced controls

    Automatic step cut : no convergence automatic cutting

    RESUN = STAT_NON_LINE(...INCREMENT=_F(LIST_INST=DEFLIST)...)

    DEFLIST = DEFI_LIST_INST(DEFI_LIST = _F(

    LIST_INST = L_INST,),ECHEC = _F(

    EVENEMENT = 'ERREUR',ACTION = 'DECOUPE',),)

    V11

    L_INST=DEFI_LIST_REEL( DEBUT=0.0,INTERVALLE=(

    _F(JUSQU_A=1.0,NOMBRE=3,)_F(JUSQU_A=2.0,NOMBRE=2,),

    ),)

  • 56 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Non-linear in Code_Aster Advanced controls

    Automatic step adaptation : L_INST=DEFI_LIST_REEL( DEBUT=0.0,

    INTERVALLE=(_F(JUSQU_A=2.0,NOMBRE=1,),),)

    RESUN = STAT_NON_LINE(...INCREMENT=_F(LIST_INST=DEFLIST)...)

    DEFLIST = DEFI_LIST_INST( DEFI_LIST = _F(METHODE = 'AUTOLIST_INST = L_INST,PAS_MINI = 1.E-6),)

    V11

  • 57 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Non-linear in Code_Aster Advanced controls

    Quasi-Newton method : recompute matrix every 2 Newton's iteration

    Quasi-Newton method : recompute matrix every 3 time's step

    Quasi-Newton method : using elastic matrix

    Default values in Code_Aster

    RESUN = STAT_NON_LINE(...NEWTON=_F(REAC_ITER=2,),)

    RESUN = STAT_NON_LINE(...NEWTON=_F(REAC_INCR=3,),)

    RESUN = STAT_NON_LINE(...NEWTON=_F(MATRICE='ELASTIQUE',),)

    RESUN = STAT_NON_LINE(...NEWTON=_F( REAC_INCR=1,

    REAC_ITER=0,MATRICE='ELASTIQUE',),)

    !

  • 58 - Code_Aster and Salome-Meca course material GNU FDL Licence

    Non-linear in Code_Aster Advanced controls

    Convergence criterion : careful when change values !

    Changing criterion convergence may produces WRONG resultsMaximum number of Newton's iteration

    Elastic matrix uses thousands of Newton's iterationsDefault values in Code_Aster

    RESUN = STAT_NON_LINE(...CONVERGENCE=_F(RESI_GLOB_MAXI=1.E-6,RESI_GLOB_RELA=1.E-6,),)

    RESUN = STAT_NON_LINE(CONVERGENCE=_F(ITER_GLOB_MAXI=20,),)

    RESUN = STAT_NON_LINE(...CONVERGENCE=_F(

    ITER_GLOB_MAXI=10,RESI_GLOB_RELA=1.E-6,),)

    !

    !

  • 59 - Code_Aster and Salome-Meca course material GNU FDL Licence

    End of presentation

    Is something missing or unclear in this document?Or feeling happy to have read such a clear tutorial?

    Please, we welcome any feedbacks about Code_Aster training materials.Do not hesitate to share with us your comments on the Code_Aster forum dedicated thread.