Fuel slosh is excited during spacecraft maneuvers. The forces and torques exerted on the spacecraft by the slosh must be controlled by the attitude control system to maintain correct pointing and spacecraft orbit. In some rare cases, the attitude control system may excite the slosh and cause a loss of control of the spacecraft, or the expected spacecraft motion from a certain control command will be different enough from the control command to adversely affect the mission. By linking the computational fluid dynamics (CFD) and the flight simulation software, the fuel slosh can be modeled at high fidelity by the CFD software, while receiving and passing information to and from the flight simulation software, thus increasing the fidelity of both models. In the past, fuel slosh has either been modeled with an equivalent mechanical model, such as a pendulum, or with a standalone CFD simulation.
Equivalent mechanical models can only approximately model the fuel slosh, and the models are not valid for all spacecraft accelerations. A standalone CFD simulation can only model slosh due to an expected spacecraft motion instead of the simulated spacecraft motion that includes the fuel slosh effects. A higher-fidelity fuel sloshing model that can send force, torque, and fuel center of mass information to flight simulation software, and that can receive spacecraft attitude and orbit information from the flight software, is needed for maneuvers that have a high risk from the exciting of fuel slosh.
STAR-CCM+ is a commercially available CFD code that is used for fuel slosh analysis. STAR-CCM+ can be run on a Windows or Linux operating system. 42 is user friendly flight simulation previously developed at NASA. It can be run from a Windows, Linux, or Mac operating system. The interface between STARCCM+ and 42 is accomplished through sockets. The socket can be created in source code and the two programs do not need to be on the same computer for them to communicate through the socket. For the work presented here, the socket was created by a JAVA script run from within STAR-CCM+. This JAVA script reads and writes to the socket for STAR-CCM+ and controls the STARCCM+ simulation; 42 uses a C script to write and read to the socket.
The interface through the socket was verified by writing the data that was sent and received for both STAR-CCM+ and 42. The two sets of numbers were compared to ensure that the numbers being written and read were as expected. The link between STAR-CCM+ and 42 allows for explicit coupling of the fuel slosh and the spacecraft attitude and orbit behavior within a simulation environment. The JAVA code used to create the socket and to control STAR-CCM+ has been used to link with another NASA in-house flight simulation program called Freespace.