ADAMS/Solver
(both solvers)

Known
Issues

 

What's New

Speed improvement for 3D solid-to-solid contact (both solvers)

Contact between tessellated 3D solids is now the default. All 3D solid geometry (with the exception of sphere) is automatically tessellated using a very fine mesh. Contact between solid geometries is now treated as contact between a pair of meshes. This is significantly easier and faster than calculating exact contact between two arbitrary geometries. Consequently, contact between 3D geometries is now significantly faster. In our testing, we have seen speed increases ranging from a factor of 1.5 to 150.

Contact between tessellated geometry does not use the Parasolid geometry engine, and therefore avoids many of the software errors associated with deficiencies in Parasolid. Contact location and normal calculations are more robust in this release.

The PREFERENCES statement allows you to specify the mesh refinement with the CONTACT_FACETING_TOLERANCE argument. You can use the CONTACT_GEOMETRY_LIBRARY argument to revert back to the Parasolid engine.

Experimental features include:

  • Analytical Solids
    The geometry engine is not used to find the contact point in certain cases involving contact with spheres; no tesselation is required. See Knowledge Base Article 10534 for details.

  • Contact Mesh Visualization
    Visualization of the tessellated geometry can be achieved by setting an environment variable, MDI_ADAMS_SHELL_FILE_PATTERN, that causes .shl files to be exported at the start of a simulation. See Knowledge Base Article 10495 for details.

  • Shell-to-Shell Contact
    Support of shell files for EXTERNAL geometry makes shell-to-shell contact possible in ADAMS/Solver. However, there currently is no support for this in ADAMS/View. This capability is useful when your geometry is complex or comes from a CAD system that doesn't support the Parasolid file format. The shell files can be in either stereolithography (.stl) or shell (.shl) format and must meet two criteria: 1) comprised of triangles only (no quadrilaterals allowed), and 2) are closed (that is, defining an enclosed volume). For an example see Knowledge Base Article 10530.

  • Contact Trace
    You can trace out the path of a contact in the animation window if you set the MDI_AVIEW_EXPERIMENTAL environment variable. See the Knowledge Base Article 10524 for details.

Contact between lists of geometry (both solvers)

You can specify contact between a list of geometries on one body and another list on a second body (for example, IGEOM=1, 3, 5 and JGEOM = 2, 16). You no longer need to have several individual CONTACT statements to model multiple contacts between two bodies. This feature works for both 2D and 3D geometries and has the effect of making the modeling simpler and more intuitive. An unexpected benefit is that simulations are often faster when multiple CONTACT statements are replaced with a single CONTACT statement.

Alternatively, your complex geometries may now be disassembled into a set of simpler geometries. This often speeds up the contact detection and can also make it more accurate and robust.

Broader availability of contact incident data (both solvers)

Contact incidents may be postprocessed in more detail. Contact incident data (such as detailed information about the kinematics and kinetics at each of the contact points) is now stored as part of the simulation results when using the .xrf format (XML results file). These results can be plotted in ADAMS/View. Contact kinematics include the following data for each contact incident:

  • Location of the contact point on each body
  • Normal and frictional force vectors
  • Friction coefficient, slip deformation, and slip velocity
  • Penetration depth and velocity
You can control how the contact incidents are collated into tracks. See the Knowledge Base Article 10523 for details.

Polylines supported in CONTACT (both solvers)

The Polyline geometry type in ADAMS/View is now recognized as a Contact_Curve and, as such, can be picked off the screen and used for curve-based contact. This polyline is then represented as an ADAMS/Solver CURVE with ORDER=2, allowing sharp corners in geometry to be more accurately modeled. Polyline-based contacts could not be modeled in this fashion in the previous releases.

EVALUATE keyword for SENSOR Statement (both solvers)

The SENSOR element now has an additional keyword, EVALUATE, which takes a function expression as its argument. There is an associated measure, SENVAL(senid), in the expression language.

The purpose of this pair is that whenever the sensor triggers, it evaluates the EVALUATE expression and the resulting value is the value of SENVAL(senid) until the next time the sensor triggers.

Example:

SENSOR/1, FUNCTION = TIME\
, VALUE=5, EQ, EVALUATE = DY(3,2)

VARIABLE/4, FUNCTION = SENVAL(1)

This is an example of how you could store a computed value into a variable at time sensed during solution. With this sensor, when TIME equals 5, ADAMS/Solver uses the DY function to measure the distance between MAR/3 and MAR/2 and stores that distance value in VARIABLE/4.

Higher order curve fitting (both solvers)

Higher order curve fitting is now possible with the CURVE statement. The CURVE statement allows for higher order B-spline curve fitting of CURVE_POINTS through the new IORDER= argument. In the past, CURVE used a fourth order tension
B-Spline. The new method uses the Parasolid B-spline and defaults to fourth order. A higher order fit is useful in producing smoother accelerations when the CURVE is used with PTCV or CVCV constraints.

Linux operating system support (both solvers)

ADAMS/Solver has been ported to the Linux operating system for the 2003 release; both the ADAMS/Solver (C++) and ADAMS/Solver (FORTRAN) solvers are supported. You can now run your stand-alone MSC.ADAMS solver jobs on a Linux machine.

Please see the Hardware and Software specifications, provided with your distribution and available on the MSC.Software Web site, for further details.

(Back to top)


Changes

XRF results file contains contact incidents (both solvers)

The RESULTS statement has been extended to support results written in XML format. This format was first exposed in version 12.0, and is now officially supported. The FORMATTED, XRF results file now includes contact incident data. Please note that the results file will not contain contact incidents if you use the other results file formats (for example, binary).

Dynamic coefficient of friction can be greater than static coefficient (both solvers)

The restriction that MU_DYNAMIC must be smaller than MU_STATIC for the FRICTION statement has been eliminated. The dynamic coefficient of friction can now be larger than the static coefficient, which enables the friction modeling of certain plastic materials.

Solver compatibility checker (both solvers)

When your dataset (.adm) is submitted to ADAMS/Solver, a compatibility checker looks to see if the model contains statements or functions that are not available in the version of ADAMS/Solver you selected. The compatibility results are reported to the screen and message file (.msg) as ERROR messages. The commands in an ACF file are not checked for compatibility. Please report if you find that the checker has overlooked any incompatible modeling elements.

CURSUB now called with IORD=3 (both solvers)

To support SI2 in PTCV and CVCV constraints, ADAMS/Solver now uses the third derivative of a curve. As a result, ADAMS/Solver now calls user-written CURSUBs with IORD=3 when they are referenced by either PTCV or CVCV constraints.

CONTROL_POINTS option discontinued (both solvers)

The CONTROL_POINTS argument for the CURVE statement has been discontinued; you must use CURVE_POINTS instead.

.dll extension no longer required on Windows platform

You no longer need to specify the .dll extension when creating a custom solver DLL.

The following example now works:

adams03 cr-u n user.obj -n mydll exit

adams03 ru-u mydll my.acf exit

(Back to top)



Issues resolved

During the course of 2003 release development, many maintenance and support issues have been resolved. The list below illustrates some of the key issues. Contact your local MSC.ADAMS support provider for determining the status of other specific issues.

Items resolved in the 12.0 Service Pack

The 2003 release of ADAMS/Solver includes all of the fixes that were provided in the 12.0 Service Pack. The items include:

24282
Corrected source of the problem that led to incorrect displacement ICs for motions dependent on variables that have other dependencies several levels deep. This fix, however, does not address circular variable dependencies where one variable depends on another that depends on the first; such dependencies require simultaneous equations solutions. Very few models need simultaneous equations solutions for variables. If your models contain motions that depend on variables that depend on other variables, please ensure that they do not contain any expressions that require simultaneous equations and verify the results.

30131
Fixed the program fault that is encountered when calling GTCMAT in models containing FRICTION statement with the INACTIVE=static feature.

32392
Corrected the problem with results time stamp. Now, all simulations that run with the internal solver will have the correct time and date stamp.

35632
On IBM-RS workstations, conflicts with the installed C runtime library resulted in a system error (Exec format error) during MSC.ADAMS startup or random crashes during execution. To correct this, the 12.0 service pack added a compatible C runtime library in the MSC.ADAMS installation for use only by the MSC.ADAMS products.

35691
Updated the detection scheme for contacts of cylindrical geometry to fix problem with processing top and bottom edge detections.

For the full list of items that were fixed for 12.0 and further details, please refer to the ADAMS/Solver 12.0 Service Pack, APN-120-176.

Additional items resolved

12635
Changed the 80 character limit for file names so that names as long as 1024 characters are now accepted.

15709
Corrected problem in which the displacement IC solution for PTCV constraints was finding a solution at a distance further away from the input configuration instead of one that was nearby.

21614
Solver curve interpolation is now synchronized with what ADAMS/View uses to display bsplines on the screen.

24379
Fixed the problem with the writing of output at time=0.0 after using the EQUILIBRIUM/DYNAMIC command.

24382
Modified the criteria for determining if a part may be a free body when issuing warning message during a failed static equilibrium solution.

24477
Fixed problem in 2D contacts that produced a force when the curves looked like they were not touching.

25510
Fixed the problem that prevented curve-to-curve CONTACT from working when using metric (MKS) units.

27306, 37877
An effective radius that allows frictional torques to be transmitted between solids undergoing contact at a single point is now computed. This change affects special cases where 3D contact would occur at only a single point (planar surfaces, axisymmetric geometry).

29202
Corrected the problem with non-existence of POUTPUT component data in results file.

29723
Updated the algorithm for finding IC solution for pairs of PTCV constraints when there is more than one solution.

30696
Fixed the problem that could cause an application crash to occur when performing repeated initial condition analyses.

30892
Fixed the memory problem that caused segmentation fault when using SAVE and RELOAD with models that have multi-wrap angles computed with AZ, AY, or AZ in a REQSUB.

30917
Fixed the problem where the request output for SIM/STATIC analysis was inconsistent between kinematic and dynamic models.

30996
Updated the error message for WSTIFF integrator to be consistent with GSTIFF so that it refers to states by name instead of by number.

35835
Corrected the problem with null pointer that caused ADAMS/Solver (FORTRAN) to crash when running some solid-to-solid contact models which were built from imported CAD geometry.

32765, 35934
Corrected the problem with models having CONTACT elements that fail to detect contact during long simulations.

37087
Corrected the problem with models having CONTACT elements where the results change each time a simulation is run. In very special cases, the simulation results can change even though no model data is changing. The observed models where this happens involve a series of sharp impacts with dynamic friction turned on. This correction employs a more robust contact detection algorithm and minor issues were resolved relating to memory cleanup.

35934
Fixed problem that caused contacts to turn off without issuing any error messages from the Parasolid library. As a result, more comprehensive error checking has been added.

35994
Corrected the problem with finding static equilibrium in models containing MFORCE statements.

36162
Updated the handling of friction in redundant constraints. You will now receive warning messages to alert you of these situations.

36307
Corrected the problem that caused corrupted results file data in models containing MFORCE statements.

36352
Fixed the problem that prevented successful quasi-static analysis following an automatic Euler singularity correction.

36432
Changed logic to better track opening of .msg file. As a result, this eliminated the source of a crash when using RELOAD/STATES.

36444
Implemented error trapping to prevent the application from crashing when DEBUG/JMDUMP, REQDUMP, or RHSDUMP were used with the internal solver. A warning message is now issued that you must save the output file (.out) in order to use these features.

37065
Corrected the problem that prevented the use of GSTIFF after running with CONSTANT_BDF.

37085
Updated the Jacobian matrix sorting algorithm to handle models with greater than 45k equations.

37087
Fixed problem that caused a contact model to produce non-repeatable results.

37426
Removed discontinuity checking for FIESUBs since they do not normally have discontinuous forces because they are normally used to model nonlinear beams and bushings.

37451
Corrected problems that caused a program fault when using SYSPAR in a user subroutine.

37709
Corrected the problem that caused a program fault when using RELOAD/SYSTEM with rigidized flexible bodies.

37920
Eliminated the integer overflow condition for MATRIX statements with 45357 or more entries.

38602
Corrected the behavior of the SHOW TIME command so it lists the current time instead of the analysis time and date stamp.

38846
Corrected the problem that caused ZP and XP arguments of the MARKER command to be ignored.

38938
Fixed the problem that caused SCALES to be incorrect for COUPLERs having three joints and two scales values. Note that couplers with two joints and one scales value did not have this problem.

39006
Eliminated problems in formatting .msg files on the Windows platform where carriage returns were missing.

39310
Updated the INTEGRATOR/DEFAULT command so that it resets the corrector to its default.

(Back to top)

 

Go to What's New and Release Notes for
C++ only
Go to What's New and Release Notes for FORTRAN only
Go to complete ADAMS/Solver What's New and Release Notes

 

Copyright © 2003 MSC.Software Corporation. All rights reserved.