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 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.
Out[2]= | |
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.
Out[3]= | |
Out[4]= | |
The Solution option controls what order solution is sought, and whether to solve for the Lagrange multipliers.
Out[5]= | |
Out[6]= | |
Solution rules can also be output as InterpolatingFunction objects. Note that constant values are recognized and not interpolated.
Out[7]= | |
Out[8]= | |
By changing the ZeroTest we can make SolveMech seek a more accurate solution.
Out[9]= | |
Out[10]= | |
Or we can iterate toward the solution one step at a time with StepMech.
Out[11]= | |
Out[12]= | |
Out[13]= | |
See HelpModel2D.
|