This is an old revision of the document!

Warning: Declaration of syntax_plugin_mathpublish::handle($match, $state, $pos, &$handler) should be compatible with DokuWiki_Syntax_Plugin::handle($match, $state, $pos, Doku_Handler $handler) in /home/np29546/public_html/elmerice/wiki/lib/plugins/mathpublish/syntax.php on line 0

Warning: Declaration of syntax_plugin_mathpublish::render($mode, &$R, $data) should be compatible with DokuWiki_Syntax_Plugin::render($format, Doku_Renderer $renderer, $data) in /home/np29546/public_html/elmerice/wiki/lib/plugins/mathpublish/syntax.php on line 0

User Functions

This Section presents the various user functions developed to solve glaciological applications using the finite element code Elmer. User functions are used to define boundary conditions, initial conditions or any material parameter which depends on other variables.

User functions in the Elmer/Ice package are automatically compiled and can be called using the object file name ElmerIceUSF:

Temperature = Variable Coordinate 3 
 Real Procedure =  File "ElmerIceUSF" "NameUSF"

where NameUSF is the name of the user function you want to execute. The source code of the user functions of the Elmer/Ice package can be obtained from the Elmer svn in /trunk/elmerice/UserFunctions/.

A non-distributed user function has to be link to Elmer:

elmerf90 MyUSF.f90 -o MyUSF

In the SIF file, the call to the user function is done by pointing on the object file MyUSF, like this

Temperature = Variable Coordinate 3 
 Real Procedure "MyUSF" "NameUSF"

where NameUSF is the name of the fortran function in the file MyUSF.f90.

Instead of using a fortran user function, one can write directly in the SIF file a MATC function, as explained here. However, MATC functions present some limit and cannot be used in any cases. Moreover, MATC functions are less computationally efficient, and should be avoided for very large problems.

userfunctions.1354556538.txt.gz · Last modified: 2012/12/03 17:42 by gag
CC Attribution-Share Alike 4.0 International Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0