Class in Zendir.Classes | Inherits from PowerSource
Declaration
class SolarPanel;Description
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.
Properties
| Declared | Description |
|---|---|
| Area | The Area of the solar panel |
| Efficiency | Sun to Power efficiency |
| EnableSelfShadowing | Enables self-shadowing on the solar panel mesh. This will determineadditional shadows, caused by ray-casts, on the solar panel.This can only be enabled from a visualization tool, such as ZendirEditor or Zendir Studio. |
| In_SolarFluxMsg | A solar flux message that measures the flux of the sun atthe current point in time. |
| In_SunPlanetStateMsg | An incoming planet state message for the sun. |
| In_TransformMsg | A reference to the transform of the root objectthat will be used for the position and rotationof the object. This is connected automaticallyto the root’s Transform message if it does notyet exist. |
| OverridePanelNormal_B | User-provided panel normal in body frame (used when UseSunAngleOverride is true). |
| OverrideSunDirection_B | User-provided sun direction in body frame (used when UseSunAngleOverride is true). |
| ProjectedArea | Sun projected area on panel |
| RayCastDensity | The ray-cast density for the self-shadowing calculation. This can onlybe enabled from a visualization tool, such as Zendir Editoror Zendir Studio. |
| RelativeNormal | Face normal relative to spacecraft |
| ShadowFactor | Shadow factor on the panel from other non-Celestial sources |
| SolarAbsorbance | The solar absorbance of the panel surface, representing the fractionof incident solar flux that is absorbed (vs reflected). Absorbed fluxis then converted to electrical power based on efficiency. |
| UseSunAngleOverride | When true, OnUpdate uses user-provided sun angle instead of computing from messages.Set via SetSunAngle() method, cleared via ResetSunAngleCalculation() method. |
| Inherited | Description |
|---|---|
| Behaviours | A collection of behaviours attached to this object. |
| CenterOfMassB_B | The center of mass of the component in respect to the bodyframe (B) of the component. This is isolated from any childrenand exists in isolation. |
| CenterOfMassDot_LB_B | The center of mass time-derivative of the component within itsown local coordinates. This does not include any of the sub-componentsand exists in isolation. |
| CenterOfMassDotB_B | The center of mass time-derivative of the component relative tothe body frame (B). This does not include any of the sub-componentsand exists in isolation. |
| CenterOfMassL_L | The center of mass of the component within its own localcoordinates. This does not include any of the sub-components andexists in isolation. |
| CenterOfMassPrime_LB_B | The center of mass general-derivative of the component within itsown local coordinates. This does not include any of the sub-componentsand exists in isolation. |
| CenterOfMassPrimeB_B | [m/s] The center of mass general-derivative of the component relativeto the body frame (B). This does not include any of the sub-componentsand exists in isolation. |
| Children | A collection of children attached to this object. |
| ControlCurrent | A flag for if the power source controls/sets the output current. |
| DCM_BN | The rotational DCM matrix between the body frame (B) at the topof this component chain and the inertial frame (N). |
| DCM_LB | The rotational DCM matrix between the component frame of thisobject (L) relative to the body frame (B). |
| DCM_LN | The DCM rotational matrix of the component relative to theinertial origin (N) of the world. |
| DCM_LP | The DCM matrix of the component in the parent’s frame (P), takenfrom the Component Transform (PL). |
| IsActive | A flag for if the power source or sink is currently active. |
| IsEnabled | Is true if the object is currently enabled. |
| IsForwardBiased | This flag is used to determine if the power source is forward biased.If so, then it acts as a diode in that current cannot flow backwardsinto the source. This parameter will be removed in the future, oncediode models are implemented. |
| LocalForward | The direction of the transform frame’s forward vector, which is along the Y axis. |
| LocalRight | The direction of the transform frame’s right vector, which is along the X axis. |
| LocalUp | The direction of the transform frame’s up vector, which is along the Z axis. |
| Mass | The component mass defined in the object. This is independentof any parent or children objects and exists in isolation. |
| MassDot | The component mass time-derivative defined in the object. Thisis independent of any parent or children objects and exists in isolation. |
| Models | A collection of models attached to this object. |
| MomentOfInertia_LB | The moment of inertia of the component, measured at thelocal center of mass, represented with its own local coordinates.This does not include any of the sub-components and exists inisolation. |
| MomentOfInertiaB_B | The moment of inertia of this component, measured inthe body frame relative to the parented body. This is independentof any children and exists in isolation. |
| MomentOfInertiaPrime_LB | The derivative of the moment of inertia of the component,measured at the local center of mass, represented with its own localcoordinates. This does not include any of the sub-components andexists in isolation. |
| MomentOfInertiaPrimeB_B | The derivative of the moment of inertia of the component,represented in the body frame (B). This is independent and exists inisolation. |
| Name | The display name or tag of this object. |
| NominalVoltage | The desired voltage of the Power Source in Volts. |
| Out_ComponentMassMsg | The component mass message defines the set of mass properties andstates of the system within this component locally. This is independentof any parent or children properties or objects. |
| Out_PowerMsg | The power message containing the current informationof the Power Source. |
| Out_TransformMsg | This defines the base transform message that stores the state of the transform of this object. |
| Parent | The currently attached parent object (if any). |
| PeakPower | Power Sources will limit their Power Output to this peak power value in Watts, if it is set to a postive value. |
| Position | [m] The position of the object relative to the parent or to world origin, if no parent exists. |
| Position_BN_N | The position of the body (the root parent B) in theinertial frame relative to the inertial point (N). |
| Position_LB_B | The position of the component relative to the rootobject of this hierarchy. This is in the inertial frameand if the component is the root object, then there willbe no position. |
| Position_LN_N | The position of the inertial world space. This position isderived from the world’s transform (N). |
| Position_LP_P | The position of the object relative to the parented object (P).If there is no parent object, then this will be in the inertialframe. |
| Power | The power produced by the Power Source in Watts. |
| Root | The root object in the parent chain. |
| Rotation | [-] The rotation of the object relative to the parent or to the world origin, if no parent exists. |
| Thermal | [TEMPORARY] A reference to the thermal model that is attached to this object.This will allow the object to have thermal properties and be ableto be used in thermal simulations. |
Methods
| Declared | Description |
|---|---|
| ResetSunAngleCalculation | Resets the sun angle calculation to use the default message-based computation.Call this method to revert to the standard sun vector calculation from transform and planet state messages. |
| SetSunAngle | Sets the sun angle calculation to use user-provided vectors instead of computing from messages.Call this method when you have your own calculation of the sun-to-panel angle. |
| Inherited | Description |
|---|---|
| AddObject | Returns a new simulation object with the specified type. |
| Attach | Attempts to attach this object to a new parent. This will only work if the current object is no parented to anyother object. |
| ConfigurePower | Configures the power interface to its default state, which will include updatingthe variables of any SPICE power components to the correct state. |
| ContainsModelWithID | Returns true if an attached model satisfies the specified ID. |
| ContainsModelWithType | Returns true if an attached model satisfies the specified type. |
| Destroy | Removes the current object from the simulation. |
| Detach | This is an action to detach the current object from its parent, if it exists and move it to another object or tojust exist within the simulation. |
| FindBehavioursWithType | Returns all attached behaviours that satisfies the specified type. |
| FindBehaviourWithID | Returns an attached behaviour that satisfies the specified ID. |
| FindBehaviourWithType | Returns an attached behaviour that satisfies the specified type. |
| FindChildrenWithType | Returns all attached children that satisfies the specified type. |
| FindChildWithID | Returns an attached child that satisfies the specified ID. |
| FindChildWithType | Returns an attached child that satisfies the specified type. |
| FindModelsWithType | Returns all attached models that satisfies the specified type. |
| FindModelWithID | Returns an attached model that satisfies the specified ID. |
| FindModelWithType | Returns an attached model that satisfies the specified type. |
| FindParentWithID | Returns an attached parent that satisfies the specified ID. |
| FindParentWithType | Returns an attached parent that satisfies the specified type. |
| FindRootWithID | Returns a root object that satisfies the specified ID. |
| FindRootWithType | Returns a root object that satisfies the specified type. |
| GetModel | Returns a valid assigned model with the specified type. |
| GetWorldForward | [DEPRECATED] THIS FUNCTION WILL BE REMOVED AND SHOULD NOT BE USED. |
| GetWorldRight | [DEPRECATED] THIS FUNCTION WILL BE REMOVED AND SHOULD NOT BE USED. |
| GetWorldTransform | Returns the world transform of the object which is relative to the parent. If no parent exists, this will be thetransform of the object in world space. |
| GetWorldUp | [DEPRECATED] THIS FUNCTION WILL BE REMOVED AND SHOULD NOT BE USED. |
| ReadBodyTransform | This method will reset the dirty flag on the mass so thatit has been read successfully and is valid. |
| ResetPower | Resets the power interface to its default state, which will include removingany SPICE power references associated to the current interface. |
| SetWorldTransform | [DEPRECATED] THIS FUNCTION WILL BE REMOVED AND SHOULD NOT BE USED. |
| UpdateMassProperties | Updates the mass properties of the current physical object ata particular time. |