Class DragEffector
- Namespace
- NominalSystems.Classes
- Assembly
- NominalSystems.Classes.dll
A drag effector is a component that adds a force to the spacecraft due to atmospheric drag.
public class DragEffector : DynamicEffector
- Inheritance
-
DragEffector
- Inherited Members
Constructors
DragEffector()
public DragEffector()
Fields
DragCoefficient
[-] Non-dimensional drag coefficient
[EditableVariable("-", 0, false, "", "")]
public double DragCoefficient
Field Value
In_AtmospherePropsMsg
[-] Atmosphere message used to read density inputs
public AtmospherePropsMessage In_AtmospherePropsMsg
Field Value
LookCoPOffset
[m] Lookup table for centre of pressure offset
public List<Vector3> LookCoPOffset
Field Value
LookUpForce_B
[N] Lookup table for body frame force
public List<Vector3> LookUpForce_B
Field Value
LookupVHat_B
[-] Lookup table for the velocity unit vector
public List<Vector3> LookupVHat_B
Field Value
ModelType
[-] String describing aerodynamic model
[EditableVariable("-", true, "", "")]
public AnalysisModelType ModelType
Field Value
ProjectedArea
[m^2] Area of spacecraft projected in velocity direction
[EditableVariable("m", 0, false, "", "")]
public double ProjectedArea
Field Value
Methods
AddLookupTableEntry(Vector3, Vector3, Vector3)
public void AddLookupTableEntry(Vector3 vHat_B, Vector3 Force_B, Vector3 CoPOffset)
Parameters
ComputeFixedDrag()
This method implements a simple "cannonball" (attitude-independent) drag model.
public void ComputeFixedDrag()
ComputeForceTorque(double)
This method computes the body forces and torques for the dragEffector in a simulation loop, selecting the model type based on the settable attribute "modelType.
public override void ComputeForceTorque(double time)
Parameters
time
double
LinkInStates(StateProperties)
This method is used to link the states to the thrusters
public override void LinkInStates(StateProperties properties)
Parameters
properties
StatePropertiesThe states to link
OnBegin(double)
Called when the 'Component' is beginning
protected override void OnBegin(double time)
Parameters
time
doublecurrent time (seconds)
OnUpdate(double, double)
Called when the 'Component' should update
protected override void OnUpdate(double time, double step)
Parameters
ReadInputs()
This method is used to read the incoming message and set the associated buffer structure.
public bool ReadInputs()
Returns
- bool
Whether both Atmosphere and Body state message has been set up
SetUseFixedDragModel()
public void SetUseFixedDragModel()
SetUseLookUpTableModel()
public void SetUseLookUpTableModel()
UpdateDragDirection()
This method updates the internal drag direction based on the spacecraft velocity vector.
public void UpdateDragDirection()