Skip to content
Antti Stenvall edited this page May 8, 2015 · 9 revisions

Project structure

dp is a Matlab package and thus put into a folder whose name is +dp. There are several classes and one sub-package that you will extend.

Classes and object in dp

@mesh

Class for mesh related BASIC functionalities. This generates meshes for you and you can fetch the element topology etc.

@meshManipulator

Includes mesh manipulators: for example possibility to remove elements from the mesh etc. Not needed in the labs of the course, but they are useful in other projects. You are not supposed to touch this.

@meshPro

Inherited from dpMesh. Students should add their mesh related methods here. For example, everything related to basis functions. This you don't need to worry about at all.

@postProcess

Class for post processing services. You will develop this.

@solverBase

Your solvers are inherited from this. You may add methods to here if they are general to solvers.

+solvers

This is where you develop your solvers that the main programs in the labs/lab_x_ folders use. Classes for Poisson (Laplace) solver and plane strain are readily made for you.

Other packages

Then there are two more packages in the root

+common

Common utilities. Not special to this project necessarily. For example, nice replacement for Matlab's figure: common.fig.

+fileExchange

Utilities fetched from Matlab FileExchange.

And other folders

examples

Some example scripts for dealing with the mesh object. One can learn from these in initialization of the domain and how to use dp.@mesh when implementing the solvers.

labs

Definitions for the computer labs with example main scripts.

Other

  • dpInit initializes Matlab path so that labs and examples can be used from their location.
  • There is README.md in (almost) every folder that describes why the folder is there.
  • This is licensed under BSD license. Separate licenses may apply for packages in +fileExchange. See the folders therein for details.