Computes aerodynamic, thrust, and gravitational forces acting on the rocket. More...
#include <ForcesModel.h>
Public Member Functions | |
ForcesModel (std::shared_ptr< Rocket > rocket, std::shared_ptr< Environment > environment) | |
Constructs a new ForcesModel. | |
~ForcesModel ()=default | |
Default destructor. | |
std::array< double, 3 > | computeNetForce (const FlightState &state) const |
Computes the net external force vector acting on the rocket. | |
std::array< double, 3 > | computeNetMoment (const FlightState &state) const |
Computes the net external moment vector acting on the rocket. | |
Private Member Functions | |
std::array< double, 3 > | computeAerodynamicDrag (const FlightState &state) const |
Computes aerodynamic drag force based on velocity and rocket configuration. | |
std::array< double, 3 > | computeThrust (const FlightState &state) const |
Computes thrust force based on motor outputs. | |
std::array< double, 3 > | computeGravity (const FlightState &state) const |
Computes gravitational force based on altitude and mass. | |
Private Attributes | |
std::shared_ptr< Rocket > | rocket_ |
Rocket model reference. | |
std::shared_ptr< Environment > | environment_ |
Atmospheric and gravity conditions. | |
Computes aerodynamic, thrust, and gravitational forces acting on the rocket.
The ForcesModel provides force and moment outputs based on the current rocket state, environmental conditions, and rocket configuration.
ForcesModel::ForcesModel | ( | std::shared_ptr< Rocket > | rocket, |
std::shared_ptr< Environment > | environment ) |
Constructs a new ForcesModel.
rocket | Pointer to the rocket configuration. |
environment | Pointer to the simulation environment. |
|
default |
Default destructor.
|
private |
Computes aerodynamic drag force based on velocity and rocket configuration.
state | Current flight state. |
|
private |
Computes gravitational force based on altitude and mass.
state | Current flight state. |
std::array< double, 3 > ForcesModel::computeNetForce | ( | const FlightState & | state | ) | const |
Computes the net external force vector acting on the rocket.
state | Current flight state. |
std::array< double, 3 > ForcesModel::computeNetMoment | ( | const FlightState & | state | ) | const |
Computes the net external moment vector acting on the rocket.
Initially returns zero (for 3-DoF), but structured for 6-DoF extension.
state | Current flight state. |
|
private |
Computes thrust force based on motor outputs.
state | Current flight state. |
|
private |
Atmospheric and gravity conditions.