Previous section-----Next section

SolveMech
2D/3D

SolveMech[t] attempts to find a location solution to the current model at time t. SolveMech returns a list of rules containing the global coordinates of each body.
SolveMech[{t1, t2, ... , tn}] returns a nested list of solution rules containing solution points at all of the ti.
SolveMech[{t1, t2, ... , tm}, n], n GreaterEqual m, returns a nested list of solution rules containing solution points at all of the ti, with the remaining n-m solution points interspersed evenly throughout the ti.
SolveMech[rules] takes the supplied list (or nested list) of rules and uses them as initial guesses for the next solution attempt. In this case the value of time t is also taken from rules.
SolveMech[None] or SolveMech[] attempts to find a single location solution to the current non-time-dependent model.

• For models that are not time-dependent, the time specification None can be omitted.
• The following options can be given:

Solution may be set to Location, Velocity, Acceleration, Static, Kinematic, or Dynamic.
• For example, SolveMech[t, Solution->Velocity] returns the complete set of location and velocity solution rules, etc.
• The CheckRules option can be used to prevent SolveMech from testing supplied initial guesses to see if they are valid, thus, SolveMech[rules, Solution->Acceleration, CheckRules->False] calculates the acceleration solution based on the location and velocity specified in the supplied rules, regardless of their validity.
• The ZeroTest option should specify a function that returns True if applied to a number that is sufficiently close to zero.
Interpolation->True causes SolveMech to interpolate the solution rules, which is only meaningful if more than one solution point is requested.
• If the Interpolation option is specified, the InterpolatingFunction objects returned incorporate the first- or second-order information contained in the solution, if a velocity or acceleration solution was specified.
• The FunctionOfTime option is used to cause the InterpolatingFunction objects returned to be explicitly functions of the time variable, T.
• See also: BuildMech.

Further Examples

Load the Modeler2D package and define a simple model.

Because the model is dependent on time, T, SolveMech can be called with a single argument giving the value of time.

If given a list of time values, SolveMech seeks a solution at each value, or at each time value plus additional time values evenly dispersed among those explicitly given.

The Solution option controls what order solution is sought, and whether to solve for the Lagrange multipliers.

Solution rules can also be output as InterpolatingFunction objects. Note that constant values are recognized and not interpolated.

In[7]:=
Out[7]=
In[8]:=
Out[8]=

By changing the ZeroTest we can make SolveMech seek a more accurate solution.

Or we can iterate toward the solution one step at a time with StepMech.

See HelpModel2D.