Table of Contents

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

double

In_AtmospherePropsMsg

[-] Atmosphere message used to read density inputs

public AtmospherePropsMessage In_AtmospherePropsMsg

Field Value

AtmospherePropsMessage

LookCoPOffset

[m] Lookup table for centre of pressure offset

public List<Vector3> LookCoPOffset

Field Value

List<Vector3>

LookUpForce_B

[N] Lookup table for body frame force

public List<Vector3> LookUpForce_B

Field Value

List<Vector3>

LookupVHat_B

[-] Lookup table for the velocity unit vector

public List<Vector3> LookupVHat_B

Field Value

List<Vector3>

ModelType

[-] String describing aerodynamic model

[EditableVariable("-", true, "", "")]
public AnalysisModelType ModelType

Field Value

AnalysisModelType

ProjectedArea

[m^2] Area of spacecraft projected in velocity direction

[EditableVariable("m", 0, false, "", "")]
public double ProjectedArea

Field Value

double

Methods

AddLookupTableEntry(Vector3, Vector3, Vector3)

public void AddLookupTableEntry(Vector3 vHat_B, Vector3 Force_B, Vector3 CoPOffset)

Parameters

vHat_B Vector3
Force_B Vector3
CoPOffset Vector3

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 StateProperties

The states to link

OnBegin(double)

Called when the 'Component' is beginning

protected override void OnBegin(double time)

Parameters

time double

current time (seconds)

OnUpdate(double, double)

Called when the 'Component' should update

protected override void OnUpdate(double time, double step)

Parameters

time double

current time (seconds)

step double

the time step (seconds)

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()