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 body frame (B) of the component. This is isolated from anychildren and exists in isolation. |
| CenterOfMassDot_LB_B | The center of mass time-derivative of the component within its own local coordinates. This does not include anyof the sub-components and exists in isolation. |
| CenterOfMassDotB_B | The center of mass time-derivative of the component relative to the body frame (B). This does not include any ofthe sub-components and exists in isolation. |
| CenterOfMassL_L | The center of mass of the component within its own local coordinates. This does not include any of thesub-components and exists in isolation. |
| CenterOfMassPrime_LB_B | The center of mass general-derivative of the component within its own local coordinates. This does not includeany of the sub-components and exists in isolation. |
| CenterOfMassPrimeB_B | [m/s] The center of mass general-derivative of the component relative to the body frame (B). This does notinclude any of the sub-components and 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 top of this component chain and the inertial frame (N). |
| DCM_LB | The rotational DCM matrix between the component frame of this object (L) relative to the body frame (B). |
| DCM_LN | The DCM rotational matrix of the component relative to the inertial origin (N) of the world. |
| DCM_LP | The DCM matrix of the component in the parent’s frame (P), taken from 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 independent of any parent or children objects and exists inisolation. |
| MassDot | The component mass time-derivative defined in the object. This is independent of any parent or children objectsand exists in isolation. |
| Models | A collection of models attached to this object. |
| MomentOfInertia_LB | 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 and exists in isolation. |
| MomentOfInertiaB_B | The moment of inertia of this component, measured in the body frame relative to the parented body. This isindependent of 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 withits own local coordinates. This does not include any of the sub-components and exists in isolation. |
| MomentOfInertiaPrimeB_B | The derivative of the moment of inertia of the component, represented in the body frame (B). This is independentand exists in isolation. |
| Name | The display name or tag of this object. |
| NetPower | Net power: a positive value is power supplied to the circuit; a negative value is power consumed from the circuit. |
| NominalVoltage | The desired voltage of the Power Source in Volts. |
| Out_ComponentMassMsg | The component mass message defines the set of mass properties and states of the system within this componentlocally. This is independent of 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 the inertial frame relative to the inertial point (N). |
| Position_LB_B | The position of the component relative to the root object of this hierarchy. This is in the inertial frame and ifthe component is the root object, then there will be no position. |
| Position_LN_N | The position of the inertial world space. This position is derived 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 bein the inertial frame. |
| 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 havethermal properties and be able to 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. |
| 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 that it 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 at a particular time. |