# Phases of a Trajectory¶

Dymos uses the concept of *phases* to support intermediate boundary constraints and path constraints on variables in the system.
Each phase represents the trajectory of a dynamical system, and may be subject to different equations of motion, force models, and constraints.
Multiple phases may be assembled to form one or more trajectories by enforcing compatibility constraints between them.

For implicit and explicit phases, the equations-of-motion or process equations are defined via an ordinary differential equation.

An ODE is of the form

where
\textbf x is the vector of *state variables* (the variable being integrated),
t is *time* (or *time-like*),
\textbf u is the vector of *parameters* (an input to the ODE),
and
\textbf f is the *ODE function*.

Dymos can treat the parameters \textbf u as either static **parameters** or dynamic **controls**.
In addition, Dymos automatically calculates the first and second time-derivatives of the controls.
These derivatives can then be utilized as via constraints or as additional parameters to the ODE.
Subsequently, the optimal control problem as solved by Dymos can be expressed as:

The ability to utilize control derivatives in the equations of motion provides some unique capabilities, namely the ability to
easily solve problems using *differential inclusion*, which will be demonstrated in the examples.

The solution techniques used by the Phase classes in Dymos generally fall into two categories: implicit and explicit phases. They differ in underlying details but both allow for the same general form of the optimal control problem.