Class Panel

    • Constructor Detail

      • Panel

        protected Panel​(double area,
                        boolean doubleSided,
                        double drag,
                        double liftRatio,
                        double absorption,
                        double reflection)
        Simple constructor.

        As the sum of absorption coefficient, specular reflection coefficient and diffuse reflection coefficient is exactly 1, only the first two coefficients are needed here, the third one is deduced from the other ones.

        Parameters:
        area - panel area in m²
        doubleSided - if true, the panel is double-sided (typically solar arrays), otherwise it is the side of a box and only relevant for flux coming from its positive normal
        drag - drag coefficient
        liftRatio - drag lift ratio (proportion between 0 and 1 of atmosphere modecules that will experience specular reflection when hitting spacecraft instead of experiencing diffuse reflection, hence producing lift)
        absorption - radiation pressure absorption coefficient (between 0 and 1)
        reflection - radiation pressure specular reflection coefficient (between 0 and 1)
    • Method Detail

      • getArea

        public double getArea()
        Get panel area.
        Returns:
        panel area
      • isDoubleSided

        public boolean isDoubleSided()
        Check if the panel is double-sided (typically solar arrays).
        Returns:
        true if panel is double-sided
      • getDrag

        public double getDrag()
        Get drag coefficient.
        Returns:
        drag coefficient
      • getLiftRatio

        public double getLiftRatio()
        Get drag lift ratio.
        Returns:
        drag lift ratio
      • getAbsorption

        public double getAbsorption()
        Get radiation pressure absorption coefficient.
        Returns:
        radiation pressure absorption coefficient
      • getReflection

        public double getReflection()
        Get radiation pressure specular reflection coefficient.
        Returns:
        radiation pressure specular reflection coefficient
      • getNormal

        public abstract Vector3D getNormal​(SpacecraftState state)
        Get panel normal in spacecraft frame.
        Parameters:
        state - current spacecraft state
        Returns:
        panel normal in spacecraft frame
      • getNormal

        public abstract <T extends CalculusFieldElement<T>> FieldVector3D<T> getNormal​(FieldSpacecraftState<T> state)
        Get panel normal in spacecraft frame.
        Type Parameters:
        T - type of the field elements
        Parameters:
        state - current spacecraft state
        Returns:
        panel normal in spacecraft frame