Adams Car Package > Adams Car > Appendix > Solver Routines

Solver Routines

 
User Control Subroutines
User Control Subroutines
User Coupler Subroutines
User Differential Equation Subroutines
User Field Element Subroutines
User Gforce Subroutines
User Motion Subroutines
User SIMULATE/STATIC Routines
User Sforce Subroutines
User Variable Subroutines
User Vtorque Subroutines
Nonlinear Couplers
Air Spring Trim Load Calculation
Align or Adjust Suspension
Application of Random Steer Input
Automated Suspension Alignment Routine
Brake Torque Application
Calculation of rise-to-curb controller errors
Calculation of steady state controller error
Calculation of traction/braking controller errors
Determination of Marker Translational Velocity
Drive Torque Application
Drive Torque Application for Powertrain Models
Extracting Request Output Through Variable Statements
Fixed Body Equilibrium
Front Suspension Static Vehicle Characteristics (SVC)
Full-Vehicle Static Vehicle Characteristics (SVC)
GFORCE: Aerodynamic Modeling
GFORCE: Spline Coupling
Ground Marker Height Adjustment
Half Vehicle Rise to Curb Setting
Latching a Variable Value at a Given Time
Motion Time History Trace Routine
Move Suspension to Initial Position
On-Center Handling
Part Velocity Setting
Predetermined Alignment Value Setting
Quasi-Static Steady-State Cornering Equilibrium
Quasi-Static Steady-State Straight Line Acceleration/Braking Equilibrium
Quasi-Static Steady-State Swept Steer Equilibrium
Rear Suspension Static Vehicle Characteristics (SVC)
Ride Height Auto-Adjustment (vehicles with coil springs)
Ride Height Marker Location
Rotational to Rotational Couplers
Rotational to Translational Couplers using Splines
SFORCE: Aerodynamic Modeling (Motorsports Application)
Set Part Velocity
Simulation Specifics
Standard Driver Interface
Statements Required in the Adams Dataset
Static Vehicle Characteristics (SVC)
Static Steady-State Cornering Equilibrium
Static Steady-State Straight Line Equilibrium
Suspension Measurement (SPMM) Setup
Variables required for On-Center Handling
Viscous Coupling for Powertrain Models
Wheel Rotational Velocity Calculation During Statics
Wheel Velocity Controllers for Adams
The Solver routines are divided into the following categories:

User Control Subroutines

 

User Coupler Subroutines

The custom FORTRAN subroutines includes the ability to model nonlinear couplers. Currently the options available are:
 

User Differential Equation Subroutines

 

User Field Element Subroutines

 
ID
Description
This FIESUB reads the bushing specifications directly from the .adm deck, and returns the total (stiffness plus damping) force, fi + ci, for any six-element bushing displacement and six-element bushing velocity vector.

User Gforce Subroutines

 
ID
Description
gfo900
Interface to STI tire models
gfo1106
Interface to Adams 5.2.1 Tire model
gfo1102
Aerodynamic force application. See GFORCE: Aerodynamic Modeling

User Motion Subroutines

 
ID
Description
mot1110
mot1120
Reading motion time history data from file. See Motion Time History Trace Routine.

User SIMULATE/STATIC Routines

Full vehicle Adams modelers would frequently run into the problem of initial conditions when running drift or tire wear studies. To increase the accuracy of these simulations, MSC Software wrote an alternate SIM/STAT routine in a user CONSUB. This routine keeps the vehicle from moving in the ground plane and eliminates the initial transients that occur when going from Adams static analysis to dynamic. The CONSUB was further refined to have more modes of operation. The main four modes of operation are :
1. Fixed Body Equilibrium - vehicle is assumed to be not moving. This is required for suspension alignments. Only the tire vertical forces are present.
2. Steady-State Straight Line Equilibrium - vehicle is assumed to be traveling at the part velocities while steering is adjusted to zero lateral force at JPRIM body marker. This mode is used to start all simulations where the vehicle is moving forward at a non zero speed.
3. Stead-State Straight Line Acceleration Braking Equilibrium - vehicle is assumed to be traveling at the part velocities while accelerating or decelerating at a user specified g level.
4. Steady-State Cornering Equilibrium - the simulation starts at a specified value of lateral acceleration, as issued by the control statement. The lateral acceleration is increased at each time step until the maximum desired level is reached, the maximum engine power is reached, or the simulation fails (i.e. vehicle spin out).
All the modes are discussed in detail below. It is mandatory for modelers to use this CONSUB instead of the Adams SIM/STAT whenever the model contains tires. This will mean almost all full-vehicle simulations, with the exception of events that have special test rigs, such as 4 post. Adams Car creates JPRIMs which are automatically removed by the CONSUBs. The additional Adams statements required to use the CONSUB are described elsewhere.

User Sforce Subroutines

 
ID
Description
sfo1100
Wheel velocity controller for tire model 0. See Wheel Velocity Controllers for Adams.
sfo1103
sfo1104
Aerodynamic force application. See SFORCE: Aerodynamic Modeling (Motorsports Application).

User Variable Subroutines

 

User Vtorque Subroutines

 

Nonlinear Couplers

The custom FORTRAN subroutines includes the ability to model nonlinear couplers. Currently the options available are:

Rotational to Translational Couplers using Splines

Transmits motion from a revolute joint to a translational joint. Following statement must be used to invoke this feature.
COUPLER/id,  JOINTS = joi1,joi2, FUNC = USER(brflg,spltype,splid,scale)
where:
id = coupler id.
joi1 = revolute joint of the coupler
joi2 = translational joint of the coupler
brflg = branch flag. should be <=10
spltype = spline interpolation type
= 1 - akima spline type interpolation
= 2 - cubic spline type interpolation
splid = id of the spline specifying the nonlinear relation between the joints
scale = value by which the output to be scaled. Use -1 to reverse sign of the output.

Rotational to Rotational Couplers

Transmits motion between 2 revolute joints. Following statement must be used to invoke this feature.
COUPLER/id,  JOINTS = joi1,joi2, FUNC = USER(brflg,spltype,splid,scale)
where:
id = coupler id.
joi1 = revolute joint of the coupler from which motion is transmitted
joi2 = revolute joint of the coupler to which motion is transmitted
brflg = branch flag. should be > 10 and <= 20
spltype = spline interpolation type
= 1 - akima spline type interpolation
= 2 - cubic spline type interpolation
splid = id of the spline specifying the nonlinear relation between the joints
scale = value by which the output to be scaled. Use -1 to reverse sign of the output.