Apply momentum source term in the given direction during 6DOF MDM simulation
In certain situations, users need to apply momentum source term in the body-fixed coodinate system while the body is in 6 degree-of-freedom motion in the earth-fixed coordinate system.
For example, one tries to simulate the 6DOF motion of a boat riding on the water surface. The vehicle is propelled by a waterjet pump. The user doesn't need to model the stator/rotor, but wants to apply the corresponding momentum source and emulate the thrust generation. Because the vehicle is in 6DOF motion, the direction of the mometum source term should conform to the motion, i.e., the direction changes with the motion. How do we handle this kind of mometum source term hookup?
Let's suppose a case where the vehicle does not deform. In this kind of situation, the position of the momentum source is always at the same location with repect to the CG and the orientation of the vehicle. In the momentum source UDF, one can query the current CG and orientation of the moving vehicle in the following way:
1) get the dynamic thread that corresponds to the vehicle via
Thread *t = Lookup_Thread (domain, id_vehicle);
Dynamic_Thread *dt = THREAD_DT (t);
where id_vehicle is the zone id of the vehicle
2) then you can access the CG and the orientation relative to the initial orientation via
This allows users to modify position and value of the momentum source depending on the vehicle motion.