hexagon logo

How to extract stiffness at a node in f06 file or .pch file for a particular loadstep ?

How to extract stiffness at a node in f06 file or .pch file for a particular loadstep ?
  • This will require a DMAP ALTER... I might be able to supply one, but need to know what version of Nastran and what solution sequence you are running. Also, do you want the full stiffness or just the differential stiffness (I'm assuming this is for nonlinear since you used the word loadstep)?
  • Hello Don,
    I am also interested by the topic. For me, it is nastran v2013.1.
    Solution sequences are : 101,105,400....and 200
    both full stiffness and differential stiffness could be of interest..
     
    Best regards
  • Hi Don,
     
    Thanks for your reply.
     
    It is linear static analysis. Just wanted to extract stiffness at particular node.
     
    Can u brief the difference between stiffness and differential stiffness ?
  • The differential stiffness is the stiffness that results from including the higher-order terms (non-linear terms) of the strain-displacement relations. This is developed in non-linear solutions (from small and large displacement effects), as well as, linear buckling and pre-stressed normal modes (from small displacement effects).
     
    For linear statics, you can get the stiffness for any given node using the alter found in the following article:
     
     
    Here is the alter:
     
    MALTER 'MALTER.*KGG.*BGG.*MGG.*K4GG'      $
    MATMOD  EQEXINS,USET0,SILS,CASECC,,/VECX,/17//1 $
    PARTN  KGG,VECX,VECX/,,,KEEP/0/0        $
    DIAGONAL KEEP/KEEPD//              $  
    MESSAGE //'  '                 $
    MESSAGE //'  '                 $
    MESSAGE //'PRINT K for Case Control, user-defined GRIDs'$
    MESSAGE //'  '                 $
    MESSAGE //'Diagonal ONLY'            $
    MATPRN  KEEPD//                 $
    MESSAGE //'  '                 $
    MESSAGE //'Full ONLY'              $
    MATPRN  KEEP//                 $
    MESSAGE //'  '                 $
    MESSAGE //'  '                 $
    MESSAGE //'  '                 $
    MESSAGE //'  '                 $
    ENDALTER                     $    
     
    This requires you at add the following to your Case Control portion of the Nastran input file:
     
    $ define the grids that you want the stiffness for in this SET, for example, Grid 30 will be printed
    set 99=30
    PARTN=99
     
    I'll attach a sample input file. Note that this same ALTER and SET/PARTN will work for most solution sequences, such as SOL101 (linear statics), SOL103 (normal modes) and SOL105 (linear buckling) and many others... but it is always working with the KGG stiffness matrix, which is prior to any reductions.
     
     
     
  • For SOL105, if you want to additionally print the differential stiffness portion, you can insert the following ALTER:
     
    compile sekdr                  $
    alter 'EMA   GPECT,KDDICT,KDELM,BGPDTS,SILS,CSTMS' $
    MATMOD  EQEXINS,USET,SILS,CASES,,/VECX,/17//1  $
    PARTN  KDGG1,VECX,VECX/,,,KDKEEP/0/0      $
    MESSAGE //'  '                 $
    MESSAGE //'  '                 $
    MESSAGE //'PRINT KDIFF for Case Control, user-defined GRIDs'$
    MESSAGE //'  '                 $
    matprn KDKEEP//                 $ 
    MESSAGE //'  '                 $
    MESSAGE //'  '                 $
    MESSAGE //'  '                 $
    MESSAGE //'  '                 $
     
     
    This will also partition the differential stiffness matrix to just the desired grids. See the attached example.
     
    NOTE: all these samples and alters are use-at-your-own-risk, in that they need user-validation and are officially unsupported.
  • Attached is also a sample for SOL106, to print the final differential stiffness (at 100% of applied load) of a user-defined list of grids... again, user must validate. It also output4's and punches a DMIG to the pch file of this user-defined grid differential stiffness matrix.