phas0077_xinyu's Introduction
MATLAB CONTINUATION PROGRAM -Xinyu --------------------------------------------- Purpose ------- The aim of this project is to provide a feasible approach (in practice, a Matlab continuation program) for users to explore the trajectory flow, and compare solution variation caused by the bifurcation of the dynamical systems. Moreover, to make users understand the theoretical idea behind this program, all mathematical principles and backgrounds are covered in our dissertation. It is highly recommended for any user to follow the tutorial example (Swift-Hohenberg equation) on our dissertation as well as the guidance in this README file to make start this program. Structure of this program ------- The main body of this program is made of 3 folders as well as a setup file. We introduce these files one by one. *** 1. setup.m This file sets the Matlab paths to the (default) libraries. Any user who would like to run this program is supposed to execute setup from the command window **firstly**, or load it into the editor by typing ```Bash edit setup.m ``` and then execute it from there. *** 2. finite_element_geometry Functions in this folder are used to preassemble the mass matrices as well as the stiffness matrices generated by the finite-element method into a pde object (structure). For concrete example, see dissertation ***Section 3.6.2***. We introduced how to construct the finite-element matrix in this part. Both stiffness and mass matrices consist of the shape functions which determine the interpolation (geometry) between nodal values. When any user would like to utilize this program to study their own dynamical system problem, they do not have to reconstruct the mass and stiffness matrices each time, which is quite time-saving and convenient. *** 3. continuation_function A collection of all functions for numerical continuation. This directory contains 6 subfolders, while the main functions for continuation are under the folder ***numerical_continuation_function*** Each function script under this folder is well-founded by the theoretical idea introduced in our dissertation. For instance: -***numerical_continuation.m*** Main continuation routine, founded by dissertation ***Section3.3*** -***switch_branch*** Branch Switching algorithm, founded by dissertation ***Section 3.5*** For function scripts in other folders, they just serve a supporting role and are called by functions in ***numerical_continuation_function*** For example: Each time when function script in ***numerical_continuation_function*** needs to deal with linear systems, such like computing eigenvalues, LU-decomposition, they will call functions under the folder ***linear_system_function*** --- 4. main_programme For program execution. It is divided into two parts, while ***test_sample*** is created for the validation check and any study of the dynamical system should be covered by directory ***dynamical_problem*** Under these two directories, a folder should be created for a specific problem including a command line interface to run the program as well as scripts to describe the geometry of the differential equations (For example, G.m for the approximation of RHS of pde). In addition, an appropriate initial guess and some basic parameter settings should be given in the initializing file. How to run this program (take the Swift-Hohenberg equation as an example) -------- 1. execute setup from the command window **firstly**, or load it into the editor by typing ```Bash edit setup.m ``` and then execute it from there. *** 2. change the directory to ```Bash ./main_programme/dynamical_problem/Swift-Hohenberg-equation ``` *** 3. type ```Bash edit cmds1.m ``` from the command window of Matlab to open the command line interface and then run it ***cell by cell*** to see what happens at each step Following the similar operator to run ***cmds2.m*** ***Remark***: Each time user calls ```Bash clear clc ``` to clean the data of the working space, user has to go back to the ***original*** directory (before ***main_programme***) to recall ```Bash setup ``` to restart the program How users study their own problem ------- 1. Install this program from github link and open it Open the terminal and make sure you have already changed the directory under this program *** 2. execute setup from the command window or load it into the editor by typing ```Bash edit setup.m ``` and then execute it from there. (such operation should be done by Matlab) *** 3. change the directory ```Bash cd ./main_programme/dynamical_problem ``` *** 4. Create a directory for the user's own problem ```Bash mkdir equation_name cd equation_name ``` As we have mentioned, users are supposed to create 1. a command line interface 2. scripts to describe the geometry of differential equations as well as boundary conditions 3. an initializing file to give an appropriate initial guess and some basic parameter settings It is highly recommended for any user who uses this program for the first time to follow the dissertation tutorial and our example. Happy continuation and bifurcation!
phas0077_xinyu's People
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.