Adams-to-Nastran Jose L Ortiz, PhD. Adams User Meeting Munich - May 19, 2011
Agenda Overview Manual and Scripted Translation Theoretical Background Implementation Details Example Q&A 5/26/2011 2
Agenda Overview Introducing Adams-to-Nastran Manual and Scripted Translation Theoretical Background Implementation Details Example Q&A 5/26/2011 3
Overview There is a need for model translation from Adams to FEA Multibody Dynamics System model Adams Finite Element Analysis model FEA 5/26/2011 4
Overview Introducing Adams-to-Nastran Performs an automatic model translation (export) from Adams to FEA Available for the past 2 releases As of today, an MD license and a LINEAR license are required Available only in the Adams/Solver C++ 5/26/2011 5
Overview Introducing Adams-to-Nastran (cont.) The export process creates a set of fully editable *.bdf files Old black box option still available Minor limitations in the type or complexity of the Adams model Models with non holonomic constraints Tool can be used from shell and from Adams/View 5/26/2011 6
Overview Introducing Adams-to-Nastran (cont.) There is no need to modify the Adams model There is no need to change your processes Export job can be triggered at any operating point Export job is a high fidelity translation Accurate kinematics Matching eigenvalues (static cases only) 5/26/2011 7
Overview Introducing Adams-to-Nastran (cont.) Users can use an optional configuration file to fine tune translation Current release exports to linear FEA codes 5/26/2011 8
Overview Example CAE process Create Adams model Adams NVH Optimization FEA Motion analysis translation 5/26/2011 9
Agenda Overview Manual and Scripted Translation Problems Limitations Theoretical Background Implementation Details Example Q&A 5/26/2011 10
Manual and Scripted Translation Manual translation Error prone Time consuming (300 man hours for chassis prototype) Inaccurate 5/26/2011 11
Manual and Scripted Translation Manual translation Error prone Time consuming (300 man hours for chassis prototype) Inaccurate Scripted (user-written script) Limitations. Cumbersome Inaccurate 5/26/2011 12
Manual and Scripted Translation Why inaccurate? Kinematic configuration is hard to reproduce 5/26/2011 13
Manual and Scripted Translation Why inaccurate? Kinematic configuration is hard to reproduce Eigenvalues computed by FEA code do not match eigenvalues computed by Adams 3.78 7.23 MBD FEA 5/26/2011 14
Manual and Scripted Translation Why inaccurate? Kinematic configuration is hard to reproduce Eigenvalues computed by FEA code do not match eigenvalues computed by Adams Structural coupling can be compromised 5/26/2011 15
Manual and Scripted Translation Why inaccurate? A thorough theoretical study showed that (1) High fidelity translations require mathematical information not available to users 5/26/2011 16
Manual and Scripted Translation Why inaccurate? A thorough theoretical study showed that (1) High fidelity translations require mathematical information not available to users Example: MOTION/1, JOINT=2, FU=DX(7,8)-DZ(11,23) 5/26/2011 17
Manual and Scripted Translation Why inaccurate? A thorough theoretical study showed that (1) High fidelity translations require mathematical information not available to users (2) Linear FEA codes use linear constraint equations 5/26/2011 18
Agenda Overview Manual and Scripted Translation Theoretical Background Overview Governing equations in Adams Governing equations in Nastran Example Implementation Details Example Q&A 5/26/2011 19
Theoretical Background Overview Automatic. The translation is another simulation job 5/26/2011 20
Theoretical Background Overview Automatic. The translation is another simulation job Command: SIMULATE/DYN, END=1.0, STEP=10 LINEAR/EXPORT, TYPE=WHITEBOX, FILE=abc.nas 5/26/2011 21
Theoretical Background Overview Automatic. The translation is another simulation job Adams/View: 5/26/2011 22
Theoretical Background Overview Automatic. The translation is another simulation job Adams/View: 5/26/2011 23
Theoretical Background Overview Automatic. The translation is another simulation job Accurate. Exact kinematics 5/26/2011 24
Theoretical Background Overview Automatic. The translation is another simulation job Accurate. Exact kinematics Overcomes FEA limitations 5/26/2011 25
Theoretical Background Overview Automatic. The translation is another simulation job Accurate. Exact kinematics Overcomes FEA limitations Matching eigenvalues guaranteed for static cases 5/26/2011 26
Theoretical Background Basic idea Linearize the Adams model at the operating point 5/26/2011 27
Theoretical Background Basic idea Linearize the Adams model at the operating point Linearize the Adams model using Nastran coordinates 5/26/2011 28
Theoretical Background Basic idea Linearize the Adams model at the operating point Linearize the Adams model using Nastran coordinates Identify inertia elements, constraint equations and forces 5/26/2011 29
Theoretical Background Basic idea Linearize the Adams model at the operating point Linearize the Adams model using Nastran coordinates Identify inertia elements, constraint equations and forces Will the equations assembled by Nastran match? 5/26/2011 30
Theoretical Background Basic idea Linearize the Adams model at the operating point Linearize the Adams model using Nastran coordinates Identify inertia elements, constraint equations and forces Will the equations assembled by Nastran match? Need to examine the equations of motion in more detail 5/26/2011 31
Theoretical Background Governing equations in Adams Simplified version Nastran coordinates used! Non linear equations! 5/26/2011 32
Theoretical Background Governing equations in Adams (cont.) Simplified version Partitioning 5/26/2011 33
Theoretical Background Governing equations in Adams (cont.) Simplified version Partitioning Defining P This P is non linear! 5/26/2011 34
Theoretical Background Governing equations in Adams (cont.) Eliminating Lagrange multipliers Non linear equations! 5/26/2011 35
Theoretical Background Governing equations in Adams (cont.) Eliminating Lagrange multipliers Differentiating constraints Non linear equations! 5/26/2011 36
Theoretical Background Governing equations in Adams (cont.) Eliminating Lagrange multipliers Differentiating constraints Dependent accelerations 5/26/2011 37
Theoretical Background Governing equations in Adams (cont.) Reduced ODE First and second derivatives of dependent states can be found from constraint equations Linearization done in terms of Nastran coordinates 5/26/2011 38
Theoretical Background Governing equations in Adams (cont.) Reduced ODE First and second derivatives of dependent states can be found from constraint equations Linearization done in terms of Nastran coordinates Exact linearization of ODE. In variational form Linearized equations! 5/26/2011 39
Theoretical Background Governing equations in Nastran Partitioned equations of motion (linear) 5/26/2011 40
Theoretical Background Governing equations in Nastran (cont.) Partitioned equations of motion (linear) Constraints (linear) 5/26/2011 41
Theoretical Background Governing equations in Nastran (cont.) Partitioned equations of motion (linear) Constraints (linear) Defining P (this P is a constant) This P is a constant! 5/26/2011 42
Theoretical Background Governing equations in Nastran (cont.) Dependent accelerations 5/26/2011 43
Theoretical Background Governing equations in Nastran (cont.) Dependent accelerations Reduced ODE 5/26/2011 44
Theoretical Background Governing equations in Nastran (cont.) Dependent accelerations Reduced ODE Final form 5/26/2011 45
Theoretical Background Adams and Nastran equations This P is non linear! Adams Nastran This P is a constant! 5/26/2011 46
Theoretical Background Linearized Adams and Nastran equations 5/26/2011 47 Adams Nastran u u v T T T T f f f M M v M M M M v M M M M P P P P P P P P P P P δ δ δ δ δ δ + + = Ψ + + + + + + + + + ) ) (( ) ( ) ( 1 3 2 4 1 3 2 4 1 3 u v T T f f v M M M M δ δ δ P P P P P + = + + + ( 2 ) 4 1 3 P is now a constant!
Theoretical Background Linearized Adams and Nastran equations (cont.) 5/26/2011 48 Adams Nastran u v T T f f v M M M M δ δ δ P P P P P + = + + + ( 2 ) 4 1 3 u u v T T T T f f f M M v M M M M v M M M M P P P P P P P P P P P δ δ δ δ δ δ + + = Ψ + + + + + + + + + ) ) (( ) ( ) ( 1 3 2 4 1 3 2 4 1 3
Theoretical Background Eigensolutions will match only in static cases 5/26/2011 49 Adams u u v T T T T f f f M M v M M M M v M M M M P P P P P P P P P P P δ δ δ δ δ δ + + = Ψ + + + + + + + + + ) ) (( ) ( ) ( 1 3 2 4 1 3 2 4 1 3 Zero in static configuration Exported as DMIG
Theoretical Background Example Windmill Model provided by NREL Blades 63.5 m radius 5/26/2011 50
Theoretical Background Example Windmill (cont.) Model provided by NREL Blades 63.5 m radius Static simulation followed by eigensolution Model exported to Nastran 5/26/2011 51
Theoretical Background Example Windmill (cont.) Exported model imported into Patran Run SOL 107 5/26/2011 52
Theoretical Background Eigenvalue comparison 5/26/2011 53
Theoretical Background Eigenvalue comparison (cont.) 5/26/2011 54
Agenda Overview Manual and Scripted Translation Theoretical Background Implementation Details Inertial elements Force elements Constraints Configuration file Example Q&A 5/26/2011 55
Implementation Details Miscellaneous issues By default, exports model for SOL 107 $ Force = N (newton) $ Time = s (second) $ UCF = 1000 $ Export type: Whitebox $ Configuration file used: a2n_config.txt $ $...1...2...3...4...5...6...7...8... SOL 107 CEND TITLE = ADAMS2NASTRAN Export Utility SUBTITLE = Adams operating point at time t=2.000000e+000 ECHO = NONE CMETHOD = 101 5/26/2011 56
Implementation Details Miscellaneous issues (cont.) Files are organized using three optional styles and included in main exported file $ $------------------------------------------------------------------------------- $ Model $------------------------------------------------------------------------------- INCLUDE 'results/a2n_01_w.bdf.nas INCLUDE 'results/a2n_01_w.bdf_dmigs.bdf INCLUDE 'results/a2n_01_w.bdf_graphics.bdf $ ENDDATA 5/26/2011 57
Implementation Details Miscellaneous issues (cont.) Every MARKER is exported as a GRID and a CORD2R: PART/2 MARKER/3 Several numbering conventions $ PART_2.MARKER_3 CORD2R* 107 1.970978041D-11-3.519613300D+02 * -3.938151830D-14 1.971010203D-11-3.519613300D+02 1.000000000D+00 * 1.970903015D-11-3.529613300D+02-3.938151830D-14 $ PART_2.MARKER_3 GRID* 11 107 0.000000000E+00 0.000000000E+00 * 0.000000000E+00 107 5/26/2011 58
Implementation Details Miscellaneous issues (cont.) GRIDs are RBE2 d to the CM of the corresponding PART: $ PART_2 RBE2 7 3 123456 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 5/26/2011 59
Implementation Details Inertial elements Adams model is linearized without constraint equations. This makes easier to identify the inertia properties of all elements M 1 M 2 M 3 5/26/2011 60
Implementation Details Inertial elements (cont.) PART and POINT_MASS are translated as CONM2 $PART_1 GRID* 1 5.563508327E-01 1.690524981E-01 * -1.224646799E-16 $ $PART_1 CONM2* 1 1 0 3.000000000E+00 * * 4.000000000E+00 2.220446049E-16 4.000000000E+00-3.790727274E-32 * -1.702149213E-32 4.000000000E+00 5/26/2011 61
Implementation Details Inertial elements (cont.) FLEX_BODY are translated as SPOINT and three DMIG (M, K, and B) $ FLEXIBLE_BEAM SPOINT 9999 THRU 10006 $ $ FLEXIBLE_BEAM DMIG MGMYFLX 0 6 2 0 DMIG* MGMYFLX 9999 0 * 9999 0 2.950000000D+00 DMIG* MGMYFLX 10000 0 * 10000 0 2.950000000D+00 DMIG* MGMYFLX 10001 0 * 10001 0 2.950000000D+00 5/26/2011 62
Implementation Details Force elements All forcing elements (GFORCE, VFORCE, SPRING, etc.) are translated as CBUSH, PBUSH cards plus a residual DMIG VFORCE CBUSH + DMIG δ f + Pδ f + δ P v u f u 5/26/2011 63
Implementation Details Force elements (cont.) PBUSH properties and residual DMIG computation F = K U u Adams linearization K u Matrix is full and not symmetric! (damping not shown for clarity) 5/26/2011 64
Implementation Details Force elements (cont.) PBUSH properties and residual DMIG computation Standard FEA transformation Ku U = R T K p R U? Desired PBUSH property must be diagonal 5/26/2011 65
Implementation Details Force elements (cont.) PBUSH properties and residual DMIG computation T R KuR = K p + D r Exported PBUSH property. Diagonal matrix Residual DMIG. Residual DMIG could be zero! 5/26/2011 66
Implementation Details Force elements (cont.) Typical output (residual DMIG not shown) $ I: PART_1.MARKER_4, J: PART_9.MARKER_8 $ Grid coincident with marker I but located on PART_9 GRID* 10 1000004 0.000000000E+00 0.000000000E+00 * 0.000000000E+00 1000004 RBE2 11 9 123456 10 $ $SPRING_1 PBUSH* 1000000 K 5.500000000E+01 1.424819004E-14* * 1.221245327E-14 0.000000000E+00 0.000000000E+00 0.000000000E+00* * B 0.000000000E+00 0.000000000E+00* * 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 $ CORD2R* 10 1.112701665D+00-6.618950039D-01 * -2.449293598D-16 1.112701665D+00-6.618950039D-01 1.000000000D+01 * 1.054919334D+01 2.647580015D+00-2.449293598D-16 $ I: PART_1.MARKER_4 CBUSH 6000000 1000000 1000004 10 10 5/26/2011 67
Implementation Details Force elements (cont.) Residual DMIG can be split into a symmetric and a non symmetric parts Without splitting SET 1 = KGt00001 K2GG = 1 With splitting Symmetric residual SET 1 = KGt00001 SET 2 = KPt00001 K2GG = 1 K2PP = 2 Non symmetric residual 5/26/2011 68
Implementation Details Force elements (cont.) Residual non symmetric DMIG can be manually removed from exported files Removal of non symmetric DMIG allows running SOL 103 and other solutions requiring symmetric matrices only 5/26/2011 69
Implementation Details Constraint elements Whenever possible, JOINT and JPRIM are exported using RJOINT $----------------------------------- TrnJnt ------------------------------------ $ $JOINT_3000 $ I: PART_3000.MARKER_3001, J:PART_9000.MARKER_9003 GRID* 9010 1003001 0.000000000E+00 0.000000000E+00 * 0.000000000E+00 1003001 $JOINT_3000 RJOINT* 9010 1003001 9010 12456 $ $----------------------------------- FxdJnt ------------------------------------ $ $JOINT_1000 $ I: PART_1000.MK_REF1, J:PART_9000.MARKER_9001 RJOINT* 9011 1001001 1009001 123456 5/26/2011 70
Implementation Details Constraint elements (cont.) Whenever possible, JOINT and JPRIM are exported using RJOINT UNIVERSAL and HOOKE are exported as combination of RJOINT Other constraints (GCON, MOTION, etc.) are exported as MPC cards 5/26/2011 71
Implementation Details Constraint elements (cont.) Constraint MPC are obtained by computing Matrix is exported as MPC 5/26/2011 72
Implementation Details Differential elements DIFF, LSE, GSE, and TFSISO are exported as SPOINT and DMIG Given M q + Φ T q λ = Φ( q) = z = f ( q, z) 0 h( z, q, t) DIFF, LSE, GSE TFSISO 5/26/2011 73
Implementation Details Differential elements (cont.) Linearization finds 05/15/11 74 Exported as DMIG = z q q A A A A Q P I z q q 4 3 2 1 0 0
Implementation Details Graphic elements Alpha version CONM2, DMIG, GRID, SPOINT 5/26/2011 75
Implementation Details Graphic elements (cont.) Current version 5/26/2011 76
Implementation Details Graphic elements (cont.) All GRAPHIC elements are exported as constrained CQUAD4 or CTRIA3 elements with zero mass 5/26/2011 77
Implementation Details Graphic elements (cont.) All GRAPHIC elements are exported as constrained CQUAD4 or CTRIA3 elements with zero mass FLEX_BODY graphics are exported fixed in space (to be enhanced) All exported graphics can be removed before starting Nastran solutions Debugging tool. Does not affect results. 5/26/2011 78
Implementation Details Configuration file (cont.) An optional configuration file can be supplied LINEAR/EXPORT, TYPE=WHITEBOX, FILE=abc.nas, CONFIG=myconfig.txt Configuration file is a plain text file with directives Allow fine tuning the export process 5/26/2011 79
Implementation Details Configuration file (cont.) Users may: Modify numbering schemes, choose solution number, modify defaults, create channels for FRF solution in Nastran, remove damping, etc. Easy to add new directives 5/26/2011 80
Implementation Details Configuration file (cont.) Example configuration $ Setting FRF analysis for SOL 108 actuator_swept_sine { phase_angle = 90 magnitude = 77 name = test01 } Comments force_input_channel { name = f1 marker_id = 3001 dof = ry actuator_name = test01 } displacement_output_channel { name = d1 marker_name = model.part_1000.mk_ref1 } 05/15/11 81
Implementation Details Configuration file (cont.) Example configuration (cont.) frequency_response_subcase { number = 101 input_channel_names = f1 output_channel_names = d1 } export_all_markers = no mpc_set = 77 grid_offset = 1 spoint_offset = 9999 solution_number = 108 forces_dmig_name = ADMS1 differentials_dmig_name = ZZ3 matrix_entry_zero_tolerance = 1.e-8 05/15/11 82
Agenda Overview Manual and Scripted Translation Theoretical Background Implementation Details Example Q&A Full chassis model 5/26/2011 83
Example Chassis model prototype (courtesy of BMW Group) 5/26/2011 84
Example Exported model loaded in SimXpert 5/26/2011 85
Example Eigenvalues comparison 1.6000 Chassis - Frequency error vs. Mode number 1.4000 1.2000 1.0000 % Error 0.8000 0.6000 0.4000 0.2000 0.0000-0.2000 0 50 100 150 200 250 300 Mode number 5/26/2011 86
Example Observations Matching eigenvalues for static cases only FEA model has exactly the same kinematic configuration as in Adams 5/26/2011 87
Agenda Overview Manual and Scripted Translation Theoretical Background Implementation Details Examples Q&A Acknowledgments Q&A 5/26/2011 88
Q&A Acknowledgments MSC.Software Italy Dr. Daniel Heiserer (BMW Group) MSC.Software Germany 5/26/2011 89