Using the Time Stepper to get state values after each iteration

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
Ratna Sambhav
Posts: 42
Joined: Sat Jan 12, 2019 10:16 am

Using the Time Stepper to get state values after each iteration

Post by Ratna Sambhav » Sun Mar 01, 2020 11:10 am

Hi all,

I am working on using the Integrator of OpenSim API. While I run the following command,

manager.integrate(1);

It means that the underlying equations are being solved multiple times until 1 second time duration is reached. During that time duration, equations are solved and state values are saved multiple times and reused but what I get after the execution of this command are the final state values.
But I don't want the final state values after the whole time duration. I just want the state values right after one iteration (whatever be the type of integrator being used).
Can it be done using timeStepper function?

I tried using timeStepper using its Doxygen Class reference but it is not getting recognised in OpenSim API. If you have some example or some know how, please help us out.

Thanks

Tags:

User avatar
Ayman Habib
Posts: 2248
Joined: Fri Apr 01, 2005 12:24 pm

Re: Using the Time Stepper to get state values after each iteration

Post by Ayman Habib » Mon Mar 02, 2020 11:42 am

Hello,

The Manager is a utility class responsible specifically for stepping time forward. if you want to do something with the state (depending on what it is) you need to add corresponding objects/abstractions to the OpenSim model or to the underlying system (examples: OpenSim::Reporters/Analyses, or SimTK::EventHandlers) these are called when the system gets "realized" during integration.

Please check https://simtk-confluence.stanford.edu/d ... h+Analyses common OpenSim objects readily available.

Best regards,
-Ayman

POST REPLY