Warning: Undefined array key 1 in /home/np29546/public_html/elmerice/wiki/inc/auth.php on line 78

Warning: Cannot modify header information - headers already sent by (output started at /home/np29546/public_html/elmerice/wiki/inc/auth.php:78) in /home/np29546/public_html/elmerice/wiki/inc/auth.php on line 431

Warning: Cannot modify header information - headers already sent by (output started at /home/np29546/public_html/elmerice/wiki/inc/auth.php:78) in /home/np29546/public_html/elmerice/wiki/inc/Action/Export.php on line 104

Warning: Cannot modify header information - headers already sent by (output started at /home/np29546/public_html/elmerice/wiki/inc/auth.php:78) in /home/np29546/public_html/elmerice/wiki/inc/Action/Export.php on line 104

Warning: Cannot modify header information - headers already sent by (output started at /home/np29546/public_html/elmerice/wiki/inc/auth.php:78) in /home/np29546/public_html/elmerice/wiki/inc/Action/Export.php on line 104
~~NOTOC~~ ===== User Function USF_Zs ===== ==== General Informations ==== * **USF Fortran File:** ''USF_Zs.f90'' * **USF Name:** ''ZsIni'', ''ZsMZsIni'', ''ZsTopIni'', ''ZsTopMZsIni'',... * **Required Input Variable(s):** ''Zs'' or ''Zs Top'' or ''Zs Bottom'' ==== General Description ==== The aim of these user functions is to get the appropriate value of the mesh update from the surface displacement. The first type of user function (''~Ini'') is used to initialize the free surface elevation (surface elevation equals to the altitude of the nodes belonging on this surface). The second type (''~MZsIni'') calculate the mesh update variable as the new surface elevation minus the initial elevation. As presented [[tips:freesurface|here]], these user functions can be easily replaced by MATC functions (recalling that a MATC function consumes more cpu than a user function). ==== SIF contents ==== The required keywords in the SIF file for this solver are: Initial Condition 2 Zs Top = Variable Coordinate 3 Real Procedure "ElmerIceUSF" "ZsTopIni" End Initial Condition 3 Zs Bottom = Variable Coordinate 3 Real Procedure "ElmerIceUSF" "ZsBottomIni" End ! Bottom boundary condition Boundary Condition 1 Target Boundaries = 1 !!! this BC is equal to body no. 3 !!! Body Id = 3 Mesh Update 1 = Real 0.0 Mesh Update 2 = Real 0.0 Mesh Update 3 = Variable Zs Bottom Real Procedure "ElmerIceUSF" "ZsBottomMzsIni" End ! Upper Surface Boundary Condition 2 Target Boundaries = 2 !!! this BC is equal to body no. 2 !!! Body Id = 2 Mesh Update 1 = Real 0.0 Mesh Update 2 = Real 0.0 Mesh Update 3 = Variable Zs Top Real Procedure "ElmerIceUSF" "ZsTopMzsIni" End ==== Examples ==== Examples of the usage of these user functions can be found in the [[:courses:courses|Elmer/Ice course material]] (ISMIP application for one upper free surface and TĂȘte Rousse application for an upper and lower free surfaces).