Table of Contents

Class SolarPanel

Namespace
NominalSystems.Classes
Assembly
NominalSystems.Classes.dll

[Nominal] A solar panel can produce power from incident sunlight absorbed by the surface of the panel. Sunlight is able to be calculated both from the direction of the sun and any planetary albedo reflection. The power is dependent on the angle the solar panel is to the sources, its area and the efficiency of the panel.


public class SolarPanel : PowerSource
Inheritance
SolarPanel

Constructors

SolarPanel()

Default constructor

protected SolarPanel()

Fields

Area

The Area of the solar panel

[Unit(UnitType.SQUARE_METRE)]
[Range(0, 1.7976931348623157E+308)]
public double Area

Field Value

double

Efficiency

Sun to Power efficiency

[Unit(UnitType.NONE)]
[Range(0, 1)]
public double Efficiency

Field Value

double

EnableSelfShadowing

Enables self-shadowing on the solar panel mesh. This will determine additional shadows, caused by ray-casts, on the solar panel. This can only be enabled from a visualization tool, such as Nominal Editor or Nominal Studio.

[Metadata(IsAdvanced = true)]
public bool EnableSelfShadowing

Field Value

bool

In_SolarFluxMsg

A solar flux message that measures the flux of the sun at the current point in time.

public SolarFluxMessage? In_SolarFluxMsg

Field Value

SolarFluxMessage

In_SunSpicePlanetStateMsg

An incoming SPICE planet state message for the sun.

public SpicePlanetStateMessage? In_SunSpicePlanetStateMsg

Field Value

SpicePlanetStateMessage

In_TransformMsg

A reference to the transform of the root object that will be used for the position and rotation of the object. This is connected automatically to the root's Transform message if it does not yet exist.

public TransformMessage? In_TransformMsg

Field Value

TransformMessage

ProjectedArea

Sun projected area on panel

[Unit(UnitType.SQUARE_METRE)]
[ReadOnly]
public double ProjectedArea

Field Value

double

RayCastDensity

The ray-cast density for the self-shadowing calculation. This can only be enabled from a visualization tool, such as Nominal Editor or Nominal Studio.

[Unit("ray/cm^2")]
[Metadata(IsAdvanced = true)]
public double RayCastDensity

Field Value

double

ShadowFactor

Shadow factor on the panel from other non-Celestial sources

[Unit(UnitType.NONE)]
[ReadOnly]
[Metadata(IsAdvanced = true)]
public double ShadowFactor

Field Value

double

Properties

RelativeNormal

Face normal relative to spacecraft

[Unit(UnitType.NONE)]
[ReadOnly]
[Metadata(IsAdvanced = true)]
public Vector3 RelativeNormal { get; }

Property Value

Vector3

Methods

OnCreate()

Called when the 'Component' is created from the controller.

protected override void OnCreate()

OnHierarchyChanged()

An event that is executed when some object within the chain of components in the hierarchy is added or removed from the system. This can be used to recalculate physics or create a new list of objects.

protected override void OnHierarchyChanged()

OnUpdate(double, double)

Called when the object should update from the simulation tick. This will take in a time and a step, where the time is the time of the clock before updating the object.

protected override void OnUpdate(double time, double step)

Parameters

time double

[s] Current time of the simulation before the update

step double

[s] The time-step to update during this tick