A question about building a Box-Wing model

Hello,
Recently, I’m trying to add Box-Wing model for a square satellite in AbstractOrbitDetermination(orekit-tutorials). And I have a question.

The material of satellite body and solar panel is different, which means they should have different drag coefficients and solar absorption/reflection coefficients. But in BoxAndSolarArraySpacecraft there is only one coefficients for drag or solar absorption/reflection. Does this mean that when I want to add an atmospheric drag model to this satellite, I need to build an atmospheric drag model for the satellite itself and solar panels respectively? Such as:

// Set satellite body's drag
 final ParameterDriver[] satelliteBodyDrag = setDrag(propagatorBuilder, atmosphere, 
                                                         new IsotropicDrag(area, cd));
// Set solar panel's drag
final BoxAndSolarArraySpacecraft solarPanel = new BoxAndSolarArraySpacecraft(spaceCraft.getBoxSize()[0], spaceCraft.getBoxSize()[1], 
                                                         spaceCraft.getBoxSize()[2], 
                                                         CelestialBodyFactory.getSun(), spaceCraft.getSolarArrayArea(), solarArrayAxis, cd, ca, cr);
final ParameterDriver[] solarPanelDrag = setDrag(propagatorBuilder, atmosphere, boxCraft);

Or I just need to use BoxAndSolarArraySpacecraft to model the atmospheric drag? Like this:

 // Set satellite body && solar panel's drag
final BoxAndSolarArraySpacecraft solarPanel = new BoxAndSolarArraySpacecraft(spaceCraft.getBoxSize()[0], spaceCraft.getBoxSize()[1], 
                                                          spaceCraft.getBoxSize()[2], 
                                                          CelestialBodyFactory.getSun(), spaceCraft.getSolarArrayArea(), 
                                                          solarArrayAxis, cd, ca, cr);
final ParameterDriver[] solarPanelDrag = setDrag(propagatorBuilder, atmosphere, boxCraft);

Thank you very much!!

I think you can add two different drag force models, they will add up (but I never thought about it before). Make sure your setDrag method really adds a force model.

We have been thinking about improving the models so we ca use different coefficients in one model (and also take care of cast shadows by the way). I have a set of mails from… February 2018 about this. Unfortunately, we did not implement it yet.

Contributions welcome!

Thank you very much, I’ll try it!!