2023-12-19 21:23:34 +00:00
|
|
|
/************************************************************
|
|
|
|
PURPOSE:
|
|
|
|
( Simulate a submarine. )
|
|
|
|
LIBRARY DEPENDENCIES:
|
|
|
|
((submarine/src/Submarine.cpp))
|
|
|
|
*************************************************************/
|
2024-05-23 15:12:27 +00:00
|
|
|
#define TRICK_NO_MONTE_CARLO
|
|
|
|
#define TRICK_NO_MASTERSLAVE
|
|
|
|
#define TRICK_NO_INSTRUMENTATION
|
|
|
|
#define TRICK_NO_REALTIMEINJECTOR
|
|
|
|
#define TRICK_NO_ZEROCONF
|
2023-12-19 21:23:34 +00:00
|
|
|
#include "sim_objects/default_trick_sys.sm"
|
2024-05-23 15:12:27 +00:00
|
|
|
|
2023-12-19 21:23:34 +00:00
|
|
|
##include "submarine/include/Submarine.hh"
|
|
|
|
|
|
|
|
class SubmarineSimObject : public Trick::SimObject {
|
|
|
|
public:
|
|
|
|
Submarine submarine;
|
|
|
|
|
|
|
|
SubmarineSimObject() {
|
|
|
|
("default_data") submarine.default_data() ;
|
|
|
|
("initialization") submarine.state_init() ;
|
|
|
|
("derivative") submarine.state_deriv() ;
|
|
|
|
(0.1, "scheduled") submarine.control() ;
|
|
|
|
("integration") trick_ret = submarine.state_integ() ;
|
|
|
|
("post_integration") submarine.state_post_integ() ;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
SubmarineSimObject dyn;
|
|
|
|
IntegLoop dyn_integloop(0.1) dyn;
|
|
|
|
|
|
|
|
void create_connections() {
|
|
|
|
dyn_integloop.getIntegrator(Runge_Kutta_4, 6);
|
|
|
|
}
|