hexagon logo

SOL 106 - Export Stiffness Matrix in nonlinear case

Hi,
 
to export the stiffness matrix of a purely linear FE model I've successfully referred to the MALTER command explained in simcompanion.hexagon.com/.../how-to-export-mass-and-stiffness-matrices-of-a-large-model so far.
 
But in addition to that now I'd like to compute a nonlinear static load case and export the linearized stiffness matrix around the static equilibrium point.
How can I do this in an elegant way?
 
Best regards,
Johannes
Parents
  • Hi Johannes, I'm not sure this is exactly what you want, but if you are just looking for the differential stiffness you can use the alter in the following article:
     
     
    Here it is:
     
    $ Alter used to export the differential stiffness in a SOL106
    $ run... it can be printed, output4'd and punched as a DMIG.
    $
    $ NOTE: This is developed for MSC Nastran and is use-at-your-own-risk.
    $      Do your own validation before using for production work.
    $
    $
    compile nlstatic list noref $
    $
    ALTER 'END $ NLSTATIC'(1,-3) $
    message //'' $
    message //'Matrix kdggx (gset differential stiffness) follows'
    matprn kdggxx// $
    message //'' $
    OUTPUT4 KDGGXX//-1/31/2  $ differential stiffness
    TYPE PARM,,I,N,PUNCHFLG=1 $ GENERATE DMIG PUNCHED OUTPUT
    TYPE PARM,,I,N,SORTFLG=1 $ INPUT MATRICES ARE IN INTERNAL SORT
    MATMOD KDGGXX,EQEXIN,USET,,,/,
          /16/PUNCHFLG/SORTFLG//////////'KDDEXT'/'G' $
     
    In SOL106, I think the different stiffnesses are kept in separate matrices (linear, differential, material), though at some point I'm sure they get combined.
Reply
  • Hi Johannes, I'm not sure this is exactly what you want, but if you are just looking for the differential stiffness you can use the alter in the following article:
     
     
    Here it is:
     
    $ Alter used to export the differential stiffness in a SOL106
    $ run... it can be printed, output4'd and punched as a DMIG.
    $
    $ NOTE: This is developed for MSC Nastran and is use-at-your-own-risk.
    $      Do your own validation before using for production work.
    $
    $
    compile nlstatic list noref $
    $
    ALTER 'END $ NLSTATIC'(1,-3) $
    message //'' $
    message //'Matrix kdggx (gset differential stiffness) follows'
    matprn kdggxx// $
    message //'' $
    OUTPUT4 KDGGXX//-1/31/2  $ differential stiffness
    TYPE PARM,,I,N,PUNCHFLG=1 $ GENERATE DMIG PUNCHED OUTPUT
    TYPE PARM,,I,N,SORTFLG=1 $ INPUT MATRICES ARE IN INTERNAL SORT
    MATMOD KDGGXX,EQEXIN,USET,,,/,
          /16/PUNCHFLG/SORTFLG//////////'KDDEXT'/'G' $
     
    In SOL106, I think the different stiffnesses are kept in separate matrices (linear, differential, material), though at some point I'm sure they get combined.
Children
No Data