History for Cm New User Notes
changed:
-
**Note: Paths apply to the Bioengineering Institute file system.**
Home Directory for CMISS code:
* /hpc/cmiss
- Main repository for lots of stuff related to CMISS, in particular,
you'll find cmgui and cm in this directory.
Important Sub-directories:
* /hpc/cmiss/cm/source
- Contains all fortran files and include files that together constitutes
back-end part of CMISS (called cm).
* /hpc/cmiss/examples
- Contains the examples which are best seen online.
Environment Variables:
To set up your environment to work with CMISS at the Bioengineering Institute there are three environment variables that should be configured so that CMISS executes correctly.
* CMISS_ROOT /hpc/cmiss
* CMISS_EXAMPLES $CMISS_ROOT/examples
* PATH Include the $CMISS_ROOT/bin/ directory for your operating system and the general one.
A script to do just this is available here:
for tcsh or csh add sourcing of /hpc/cmiss/bin/user.csh into your .cshrc in your home directory,
for ksh or bash add sourcing of /hpc/cmiss/bin/user.sh into your .profile in your home directory.
CMISS Website:
http://www.cmiss.org
CMISS Examples Website:
http://cmiss.bioeng.auckland.ac.nz/development/examples/
A Strategy for Getting Started:
* From CMISS website, go to [frontpage] for all of your beginner questions. (Very Useful!)
* On this web page click on [editingcmsource]
in order to download all or part of cm. To get your hands dirty, follow
directions under _Initial Setup_ and _Local cm_. Go no further
than _Debugging_ for now.
* Must be added to cmiss group before you can download the
code. To check, type 'groups' in linux terminal.
* Replace the command
'cvs checkout cm/Makefile cm/make cm/source/fe11.f cm/source/fe20.f'
with
'cvs checkout cm/Makefile cm/make cm/source/fe11 cm/source/fe20'
or the split up command appropriately.
* Once you have the code you can type 'gmake' in the cm/
directory and this will create an executable. The executable
will be located in bin/i686-linux/ as cm-debug.
* Now you are ready to run some examples so got to "CMISS Examples":http://cmiss.bioeng.auckland.ac.nz/development/examples
* Make sure your environment is set for CMISS_EXAMPLES by typing
'echo $CMISS_EXAMPLES' in your terminal. If not set, then in linux type
'setenv CMISS_EXAMPLES /product/cmiss/examples'.
* Then go _Defining a finite element of boundary element mesh->
Creating simple 2D meshes->Defining a simple 2D FEM mesh_
and look at this example.
* Run this example inside of 'cm/bin/i686-linux' by issuing the
command './cm-debug -example 111'. Note that all examples are
run in the same fashion by typing './cm-debug -example xxxx'.
* Go through the long list of examples in the same way as described
above.
General Beginner's Advice:
* Go to "cm Lookup Frontend":http://cmiss.bioeng.auckland.ac.nz/cgi-bin/cmiss-lookup.cgi and search
for *solve* and see what you get. Note that there exists a
button to view the routines. You can also use this if you are
unsure of any parameters or variables.
* One of the key input files is the parameter file. To see an
example, from the 'CMISS Examples' website go 'Cardiac
Electro-mechanics modeling-> Coupled electromechanics->
Coupled bidomain-mechanics example' and look at the
emech.ippara file that is linked to at the bottom. Understanding
these parameter is essential to run 3D problems.
Note: You can search for these parameters with 'cm source
viewer' found on the [frontpage] webpage.
* To define a parameter file for a problem, you run 'cm' and then
type 'fem define para;p;ex-file' and then fill in the appropriate
numbers.
* It appears that creating a parameter file is a bit of voodoo plus experience.
There is currently no way to run setup, however there exists the use of
'minimal' which I have yet to understand.
* To see an example (with some comments) of an ippara file for a Bidomain
problem go to "Bidomain Example":https://www.bioeng.auckland.ac.nz/cms/CMISSFolder/bidomain.ipgrid/file_view .
Advice on Creating/Understanding Dot-Com Files:
* A 'dot-ippara' file is not necessary for small simple problems.
* There are two ways to define the finite element mesh depending
on whether the mesh is relatively structured or not. (This all
takes place after defining your 'dot-ippara' file.) If you want
a structured mesh then you must set 'dot-ipbase' and 'dot-ipmesh'.
However, if you desire a less structured mesh, then you must set
in sequence a 'dot-ipnode', 'dot-ipbase', and 'dot-ipelem'.