the dynamical systems toolbox (part 1): integrating auto ...ec1099/dst_workshop_part1.pdf · the...
TRANSCRIPT
![Page 1: The Dynamical Systems Toolbox (Part 1): Integrating AUTO ...ec1099/DST_Workshop_Part1.pdf · The Dynamical Systems Toolbox (Part 1): Integrating AUTO into MATLAB Workshop 11th October](https://reader033.vdocuments.site/reader033/viewer/2022042601/5f90fdb0c2e2777f0879b05e/html5/thumbnails/1.jpg)
The Dynamical Systems Toolbox (Part 1):
Integrating AUTO into MATLAB
Workshop 11th October 2010
Etienne Coetzee, Phani Thota, and James Rankin
![Page 2: The Dynamical Systems Toolbox (Part 1): Integrating AUTO ...ec1099/DST_Workshop_Part1.pdf · The Dynamical Systems Toolbox (Part 1): Integrating AUTO into MATLAB Workshop 11th October](https://reader033.vdocuments.site/reader033/viewer/2022042601/5f90fdb0c2e2777f0879b05e/html5/thumbnails/2.jpg)
Contents
Challenge to popularise Dynamical Systems methods.
Organisational challenges and lessons learnt.
Technical challenges.
Points to consider when introducing new technology.
Dynamical Systems software.
Why, MATLAB?
Approaches for developing/integrating Dynamical Systems
software into MATLAB.
The Dynamical Systems Toolbox.
• History
• Documentation and Help
• Mex-integration, OOP
• Demos
• Benchmarks
![Page 3: The Dynamical Systems Toolbox (Part 1): Integrating AUTO ...ec1099/DST_Workshop_Part1.pdf · The Dynamical Systems Toolbox (Part 1): Integrating AUTO into MATLAB Workshop 11th October](https://reader033.vdocuments.site/reader033/viewer/2022042601/5f90fdb0c2e2777f0879b05e/html5/thumbnails/3.jpg)
Challenge to popularise Dynamical Systems methods
Perceptions are difficult to change – an extract from a recent
handbook on vibrations
“Fortunately, with the possible exception of damping, significant non-
linearity in vibrating structures, as they are encountered in industry today,
is actually quite rare.
This may seem a strange statement to make, in view of the large
number of research papers produced annually on the subject, but
this is probably due to the fact that it is an interesting and relatively
undeveloped field, with plenty of scope for original research, rather
than to any great need from industry.
In practical engineering work, it is quite likely that if very non-linear
structural behaviour is found, it may well be indicative of poor design. It
may then be better to look for, and eliminate, the causes of the non-
linearity, such as backlash and friction, rather than to spend time
modeling the non-linear problem.”
![Page 4: The Dynamical Systems Toolbox (Part 1): Integrating AUTO ...ec1099/DST_Workshop_Part1.pdf · The Dynamical Systems Toolbox (Part 1): Integrating AUTO into MATLAB Workshop 11th October](https://reader033.vdocuments.site/reader033/viewer/2022042601/5f90fdb0c2e2777f0879b05e/html5/thumbnails/4.jpg)
Page 4
Expectations between Industry and
Academia needs to be managed.
• Universities need to publish.
• Academics want to develop algorithms and not software.
• Industry wants methods and tools for the engineers.
Training
• Methods and tools training not enough. Theory is essential. Provided by the experts.
Getting people to accept new
technology can be a quick or a slow
process.
Organisational challenges to embed DS in industry
![Page 5: The Dynamical Systems Toolbox (Part 1): Integrating AUTO ...ec1099/DST_Workshop_Part1.pdf · The Dynamical Systems Toolbox (Part 1): Integrating AUTO into MATLAB Workshop 11th October](https://reader033.vdocuments.site/reader033/viewer/2022042601/5f90fdb0c2e2777f0879b05e/html5/thumbnails/5.jpg)
Good results obtained by:
• integrated research projects,
• complementary skills between University and Industry.
Active participation by Industry essential.
• Steers direction of research.
• Motivates researchers.
• Regular meetings essential.
Quality of researchers
• Good collaborators attract good researchers.
Placement of researchers within Industry makes a big difference in testing applicability of methods.
Page 5
Organisational lessons learnt
![Page 6: The Dynamical Systems Toolbox (Part 1): Integrating AUTO ...ec1099/DST_Workshop_Part1.pdf · The Dynamical Systems Toolbox (Part 1): Integrating AUTO into MATLAB Workshop 11th October](https://reader033.vdocuments.site/reader033/viewer/2022042601/5f90fdb0c2e2777f0879b05e/html5/thumbnails/6.jpg)
Typical DS projects at UoB
Page 6
![Page 7: The Dynamical Systems Toolbox (Part 1): Integrating AUTO ...ec1099/DST_Workshop_Part1.pdf · The Dynamical Systems Toolbox (Part 1): Integrating AUTO into MATLAB Workshop 11th October](https://reader033.vdocuments.site/reader033/viewer/2022042601/5f90fdb0c2e2777f0879b05e/html5/thumbnails/7.jpg)
Mathematical background
• Steep learning curve.
• Some problems need a deep understanding of the mathematics.
Model specific
• Models not necessarily configured or built in a way that allows for easy analysis.
• Discontinuities need to be smoothed out.
• Parameter ranges much bigger than engineers are used to.
Software
• No commercial software available, hence user documentation, examples, and customer support is lacking. Dynamical Systems Toolbox in MATLAB addressing this area (UoB).
Page 7
Technical challenges
![Page 8: The Dynamical Systems Toolbox (Part 1): Integrating AUTO ...ec1099/DST_Workshop_Part1.pdf · The Dynamical Systems Toolbox (Part 1): Integrating AUTO into MATLAB Workshop 11th October](https://reader033.vdocuments.site/reader033/viewer/2022042601/5f90fdb0c2e2777f0879b05e/html5/thumbnails/8.jpg)
Points to consider when introducing new software
Learning Curve• steep, extra time needed to learn new paradigm.
Training• hands-on practice with the specific application.
User-friendliness• ease of use and robust error checking.
Use of exiting models
Documentation• enough relevant examples, links to references.
User base and support• larger user base increases support aspect
Software availability
Extendability and modularity• well documented architecture and API.
![Page 9: The Dynamical Systems Toolbox (Part 1): Integrating AUTO ...ec1099/DST_Workshop_Part1.pdf · The Dynamical Systems Toolbox (Part 1): Integrating AUTO into MATLAB Workshop 11th October](https://reader033.vdocuments.site/reader033/viewer/2022042601/5f90fdb0c2e2777f0879b05e/html5/thumbnails/9.jpg)
Dynamical Systems software
AUTO seems to be the most widely used (Fortran). Mainly for low-order systems. [Doedel et al.]
Trilinos/LOCA popular for large-scale systems (C). [Salinger et al.]
We are not aware of any commercial software that can be used for engineering problems.
MATLAB toolboxes
• CL_Matcont [Govaerts et al.]
• COCO [Dankowicz & Schilder]
• Dynamical Systems Toolbox [Coetzee et al.]
Extensive list athttp://www.dynamicalsystems.org/sw/
![Page 10: The Dynamical Systems Toolbox (Part 1): Integrating AUTO ...ec1099/DST_Workshop_Part1.pdf · The Dynamical Systems Toolbox (Part 1): Integrating AUTO into MATLAB Workshop 11th October](https://reader033.vdocuments.site/reader033/viewer/2022042601/5f90fdb0c2e2777f0879b05e/html5/thumbnails/10.jpg)
Why MATLAB?
Ease of use.
Many universities use MATLAB.
Interactive use or scripts.
Rapid prototyping of sophisticated
code.
Large user base.
Great for simulation and data
analysis.
Matrix notation instead of loops.
Many easy to use toolboxes.
Ease of visualisation.
![Page 11: The Dynamical Systems Toolbox (Part 1): Integrating AUTO ...ec1099/DST_Workshop_Part1.pdf · The Dynamical Systems Toolbox (Part 1): Integrating AUTO into MATLAB Workshop 11th October](https://reader033.vdocuments.site/reader033/viewer/2022042601/5f90fdb0c2e2777f0879b05e/html5/thumbnails/11.jpg)
Approaches for developing/integrating Dynamical
Systems software into MATLAB.
Method Advantage Disadvantage
New code in MATLAB Opportunity to plan and
define a framework.
Optimum use of matrix
functions in MATLAB.
Extensive use of new
OOP features.
Loss of knowledge built
up in AUTO community.
Huge amount of work.
Familiarity.
Code integration via
mex-functions
Build on extensive work
done already.
Computation done in more
efficient environment.
Mostly Fortran.
Use of new OOP features.
Familiarity of user
community with AUTO.
Time spent figuring out
where to place hooks.
Actual documentation
sparse.
![Page 12: The Dynamical Systems Toolbox (Part 1): Integrating AUTO ...ec1099/DST_Workshop_Part1.pdf · The Dynamical Systems Toolbox (Part 1): Integrating AUTO into MATLAB Workshop 11th October](https://reader033.vdocuments.site/reader033/viewer/2022042601/5f90fdb0c2e2777f0879b05e/html5/thumbnails/12.jpg)
Dynamical Systems Toolbox
Year Developer AUTO
Version
Feature
2004 Ryan Bedford,
Aerospace Department
97 Initial mex integrationmexEvalString
2009 Etienne Coetzee,
James Rankin,
Phani Thota,
Engineering Mathematics
2007P DST V1
New optimised commands
Extensive documentationmexCallMatlab
2010 Etienne Coetzee,
James Rankin,
Phani Thota,
Engineering Mathematics
2007P DST V2
OOP
2 Modes: 07P, DST
Splitting of functions
Additional Outputs
![Page 13: The Dynamical Systems Toolbox (Part 1): Integrating AUTO ...ec1099/DST_Workshop_Part1.pdf · The Dynamical Systems Toolbox (Part 1): Integrating AUTO into MATLAB Workshop 11th October](https://reader033.vdocuments.site/reader033/viewer/2022042601/5f90fdb0c2e2777f0879b05e/html5/thumbnails/13.jpg)
DST V1 – Main features
Similar input and output files to AUTO07P.
Main focus on interface between FUNC.F and AUTOEQN.m
Use of a switch-yard to select correct subroutine.
Initial use of OOP technology to generate constants file.
Documentation that explains:
• Background to Dynamical Systems.
• Some theory.
• Detailed explanation of the constants.
• Detailed explanation of how to debug subroutines.
• Detailed explanation of what contents in output files mean.
• Examples from AUTO.
• Example of linking a Simulink model.
• Plenty of references.
![Page 14: The Dynamical Systems Toolbox (Part 1): Integrating AUTO ...ec1099/DST_Workshop_Part1.pdf · The Dynamical Systems Toolbox (Part 1): Integrating AUTO into MATLAB Workshop 11th October](https://reader033.vdocuments.site/reader033/viewer/2022042601/5f90fdb0c2e2777f0879b05e/html5/thumbnails/14.jpg)
Dynamical Systems Toolbox V1 - Architecture
![Page 15: The Dynamical Systems Toolbox (Part 1): Integrating AUTO ...ec1099/DST_Workshop_Part1.pdf · The Dynamical Systems Toolbox (Part 1): Integrating AUTO into MATLAB Workshop 11th October](https://reader033.vdocuments.site/reader033/viewer/2022042601/5f90fdb0c2e2777f0879b05e/html5/thumbnails/15.jpg)
DST V1 - Demo “ab”
![Page 16: The Dynamical Systems Toolbox (Part 1): Integrating AUTO ...ec1099/DST_Workshop_Part1.pdf · The Dynamical Systems Toolbox (Part 1): Integrating AUTO into MATLAB Workshop 11th October](https://reader033.vdocuments.site/reader033/viewer/2022042601/5f90fdb0c2e2777f0879b05e/html5/thumbnails/16.jpg)
DST V2 – Main features
Extensive use of OOP technology.
Easy to program the MATLAB objects, and robust.
Can run in 2 modes:
• 07P mode – equivalent to DST V1.
• DST mode – reading and writing all data to objects.
AUTOEQN.m file split into separate files to improve speed.
Additional outputs can be written, previously only state
values.
Can write files out similar to V1 if needed.
Significantly faster than DST V1.
![Page 17: The Dynamical Systems Toolbox (Part 1): Integrating AUTO ...ec1099/DST_Workshop_Part1.pdf · The Dynamical Systems Toolbox (Part 1): Integrating AUTO into MATLAB Workshop 11th October](https://reader033.vdocuments.site/reader033/viewer/2022042601/5f90fdb0c2e2777f0879b05e/html5/thumbnails/17.jpg)
Dynamical Systems Toolbox V2 - Architecture
![Page 18: The Dynamical Systems Toolbox (Part 1): Integrating AUTO ...ec1099/DST_Workshop_Part1.pdf · The Dynamical Systems Toolbox (Part 1): Integrating AUTO into MATLAB Workshop 11th October](https://reader033.vdocuments.site/reader033/viewer/2022042601/5f90fdb0c2e2777f0879b05e/html5/thumbnails/18.jpg)
DST V2 - Demo “ab” with Simulink model
![Page 19: The Dynamical Systems Toolbox (Part 1): Integrating AUTO ...ec1099/DST_Workshop_Part1.pdf · The Dynamical Systems Toolbox (Part 1): Integrating AUTO into MATLAB Workshop 11th October](https://reader033.vdocuments.site/reader033/viewer/2022042601/5f90fdb0c2e2777f0879b05e/html5/thumbnails/19.jpg)
Benchmark – LC continuation
![Page 20: The Dynamical Systems Toolbox (Part 1): Integrating AUTO ...ec1099/DST_Workshop_Part1.pdf · The Dynamical Systems Toolbox (Part 1): Integrating AUTO into MATLAB Workshop 11th October](https://reader033.vdocuments.site/reader033/viewer/2022042601/5f90fdb0c2e2777f0879b05e/html5/thumbnails/20.jpg)
Future activities
Documentation is key, hence we would like to
incorporate all of the AUTO examples into m-files.
Relevant engineering examples.
Added robustness in objects.
Extension of plotting routines.
In the long-term we could consider engineering the
software:
• re-architecting the core code,
• or building on work of other groups.
• defining an API,
• making framework and initial tools publicly available (MATLAB-FEX, other),
The success of the above will depend on our ability to
convince industry that it is in their own interest to adopt
these methods.