03-20-2014 04:06 AM - edited 03-20-2014 04:30 AM
Hello everyone,
I am writing a VI to simulate the response of a hydraulic system. Most of the program runs perfectly, but certain sections require integration which has proved to be a problem.
I have attempted to use 'Numeric Integration.vi', and have written a forward Euler subVI, which both fail to converge due to the nature of hydraulic systems. It seems that Backward Euler integration is the solution, but I have been unable to find a way to implement it.
I have tried evaluating the 'Control Design and Simulation' module, which has a range of integration methods, but the module itself seems unsuitable.
I was hoping somebody would have a better understanding of the equations than me, as the implicit nature of Backward Euler is causing me some difficulty.
Edit: I have attached a snippet which I have been using to test out possible solutions. It provides testing data and compares the result to the value I am aiming for, which was generated using different software.
Thanks,
Cameron
Solved! Go to Solution.
03-20-2014 09:38 AM
If anyone gets an opportunity to try out this code, the iteration value should be connected to subset length, not subset index.
03-20-2014 01:10 PM - edited 03-20-2014 01:11 PM
03-20-2014 04:14 PM
No dice with existing methods if you decrease your simulation timestep?
03-21-2014 02:58 AM
Thanks altenbach, I'll put that into my testing version.
Unfortunately not ToeCutter, I've reduced it to the lowest value I can and it still diverges after less than a second.
I've tried running simulations on some other software (which has various built in integrators) and Backward Euler seems to be the only method I can use.
03-26-2014 06:19 AM - edited 03-26-2014 06:20 AM
Hi CamW,
You can do the backward euler integration in labview by using the Discrete integrator funtion from the control design and simulation module as shown below:
Thanks and Regards,