HyperWorks Release Notes

Solver Enhancements

Solver Enhancements

Previous topic Next topic Expand/collapse all hidden text  

Solver Enhancements

Previous topic Next topic JavaScript is required for expanding text JavaScript is required for the print function  
hmtoggle_arrow1New Python Based Lexicon

A new Python based lexicon for MotionSolve is provided in this release. Using this lexicon, one can now create Python applications that can:

Create a MotionSolve model
Execute the model
Use any other Python utilities that are useful in this context.

For instance, you could: Perform a MotionSolve simulation and display live plots during the simulation with Matplotlib (a Python based plotting tool).

Along with the Python based lexicon, a new Python lexicon Reference Manual is also available.

 

hmtoggle_arrow1Support for Multi-Iterative Coupling (MIC) in Co-Simulation with AcuSolve

With this release, MotionSolve supports multi-iterative coupling (MIC) while co-simulating with AcuSolve. This enhancement allows MotionSolve to re-compute its system states on the fly when needed during co-simulation. This is helpful while trying to solve “tightly” coupled problems more accurately. With this enhancement, your co-simulation results are more accurate and the co-simulation is more robust.

 

hmtoggle_arrow1MS_USERDLL_DIR Supports Python Scripts

You can use the MS_USERDLL_DIR environment variable to specify the location of your Python scripts (*.py, *.pyc) as well as your C++/FORTRAN user subroutines.

The environment variable MS_USERDLL_DIR can be set to a list of folder locations on your machine (separated by ;) where you want MotionSolve to search for your user subroutines (*.dll, *.so). This scenario is common when you don’t specify the absolute path of the user subroutine in your model or if the user subroutine is not in the same location as the solver input XML file.

 

hmtoggle_arrow1Geometric Stiffening for CMS Flexible Bodies

You can model geometric stiffening for CMS flexible bodies in MotionSolve. Geometric or stress stiffening is an effect most commonly seen in beams under tension where the frequency of the fundamental modes increases as the tension is increased. Such an effect can be observed in rotating beam structures like helicopter or wind turbine rotor-blades.

Include the stress stiffness data in your CMS flexible body by including the following in your FEM file:

CMSMETH, 1, CBG, , 15

CBG is the keyword that instructs OptiStruct to create the CMS flexible body with additional geometric stiffness data

You can then import this flexible body in your MotionView model as you would ordinarily.

Note: Only the Craig-Brampton method is currently supported for calculating the geometric stiffness data.

 

hmtoggle_arrow1Linking with msautoutils via the User Subroutine Build Tool

The user subroutine build tool shipped with this release of MotionSolve now links with the msautoutils library on both Windows and Linux. You can now use access functions exported by the MotionAuto Utilities as well as the MotionSolve UserSub API. This substantially simplifies the effort on your part to create your own road or other Auto functionality based on the published set of capabilities.

 

hmtoggle_arrow1Updated ISTAT Codes for the GTCMAT Utility Subroutine

The ISTAT return codes for the GTCMAT utility have been updated in MotionSolve.

ISTAT= 0

Normal return.  Compliance matrix was calculated.

ISTAT= -1

Error return.  NM < 0.

ISTAT= -2

Error return.  NM > 100.

ISTAT= -3

Error return.  NC < 6*NM.

ISTAT= -6

Error return.  MKID refers to a non-existent REFERENCE_MARKER.

ISTAT= -7

Error return.  The system has zero degrees of freedom.

ISTAT= -9

Error return.  A singular Jacobian matrix was encountered during the calculations.

ISTAT=-11

Error return.  A REFERENCE_MARKER is on GROUND.  It cannot move.

ISTAT=-12

Error return.  An initial static equilibrium was not performed.

ISTAT=-99999

Error return.

 

hmtoggle_arrow1Linear Analysis Enhancements

Many enhancements have been added to Linear Analysis. These include:

A new option for “balancing” prior to eigenvalue analysis
Support for strain/dissipative energy calculations
Mode selection for linear analysis output

The updated statement is shown below with the 14.0 enhancements in red.

ms_14_04

 

A new capability for “balancing” prior to eigenvalue analysis

For certain models, the eigenvalues calculated are sensitive to very minor changes in the state matrix used as input for the solution. This occurs when the eigenvector matrix is ill conditioned. MotionSolve detects an ill conditioned eigenvector matrix and “balances” the state matrix for a more robust eigenvalue solution.

Balancing refers to diagonally scaling the state matrix such that the row and column norms are numerically close to each other. You can control this behavior using the attribute “balancing” in the <Param_Linear> model or command statement.

Set “balancing” to “TRUE” to force MotionSolve to perform balancing on the state matrix and “FALSE” to disable balancing. The default for “balancing” is “AUTO” which lets the solver decide when balancing is required based on the condition number of the eigenvector matrix. Please note, that balancing is a very inexpensive operation.

 

Support for strain/dissipative energy calculations

For linear analyses, in addition to Kinetic Energy distribution, MotionSolve also calculates strain and dissipative energy for the following modeling elements:

Force_SpringDamper (TSPDP/RSPDP)
Force_Bushing (BUSH)
Force_Beam (BEAM)
Force_Field (FIELD)
Force_VectorOneBody/Force_VectorTwoBody (VFORCE, VTORQUE, GFORCE)
Force_Scalar_TwoBody (SFORCE)

The KE, strain and dissipative energy distribution is written to the log file, on the screen and the *_linz.mrf output file. To request MotionSolve to calculate these distributions, set the write_energy_dist attribute to “TRUE” in the <Param_Linear> model or command statement.

 

Mode selection for linear analysis output

You can now specify the modes for which MotionSolve writes the energy distribution on screen and to the log file. This is useful when the number of eigenmodes is large and you are interested only in a subset.

You may specify mode numbers to include or exclude, for each of the three distributions. Please see the documentation on <Param_Linear> for more details on how this is done.

 

hmtoggle_arrow1Header Format Change for PLT Output Files

With this release, the header for the PLT output files has been changed to allow the PLT file to be imported into FEMFAT for fatigue analysis. The old and new PLT format are described below:

Old format: The old format contains 4 columns for each request and the version number is 8.1.

ms_14_05

New format: The new format contains 5 columns for each request and the version number is 9.1. The fifth column is added as per the specifications from FEMFAT. If this value is non-zero, then the next line is treated as a comment line.

ms_14_06

 

Kinematic analysis for “structure” models

Previously, MotionSolve did not solve models that have 0 DOF and time dependent loading. To solve such models you needed a workaround with “dummy” differential equations etc. With this release, MotionSolve has been enhanced to recognize 0 DOF models that have time dependent loading such that the simulation can continue. Such a scenario is useful when trying to determine joint reaction forces for models with 0 DOFs.