+ All Categories
Home > Documents > The Dynamical Systems Toolbox (Part 1): Integrating AUTO ...ec1099/DST_Workshop_Part1.pdf · The...

The Dynamical Systems Toolbox (Part 1): Integrating AUTO ...ec1099/DST_Workshop_Part1.pdf · The...

Date post: 04-Aug-2020
Category:
Upload: others
View: 16 times
Download: 1 times
Share this document with a friend
20
The Dynamical Systems Toolbox (Part 1): Integrating AUTO into MATLAB Workshop 11 th October 2010 Etienne Coetzee, Phani Thota, and James Rankin
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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.


Recommended