Path: blob/devel/elmerice/UserFunctions/Documentation/FrictionLoads.md
3203 views
User Function getFrictionLoads
General Information
USF Fortran File: USF_GetFrictionHeating.f90
USF Name: getFrictionLoads
Required Input Variable(s): None
General Description
The function getFrictionLoads replaces the old function getFrictionHeat, which still remains in the svn because of compatibility issues (from revision 6834 on). It is recommended to switch to this newer version. The two user functions are however different since getFrictionLoads gives a result in W whereas getFrictionHeat gives a result in W/m2. Therefore, they have to be used in a different way (see the sif example). This approach is based on the coupling of surface heat production to the residual of the Stokes solver - the first three components of the residual represent the nodal forces acting on the surface. This is the natural way of coupling in FEM. Note, in the case of a restart-run, the (Navier-)Stokes Solver needs to exist in the sif-file (option Exec Solver = Never is sufficient), otherwise the Loads are not found. Note, the function has not yet been tested in the case of basal melting, but should be working. Sometimes negative values for the friction loads are calculated and set to zero in the source code. This has not yet been fully understood and could lead to some instabilities. This has, however, not yet been observed.
Output can be produced by using the ForceToStress Solver (see below).
Consistent units for capacity and conductivity are needed. Attention, the keyword “friction heat” in the body section does not make reference to this heat source - but to “strain heat” or “deformational heat”.
SIF contents
Output of the friction heat
Output can be produced with the ForceToStress Solver. Sometimes negative values are calculated, which should be set to zero since they are only numerical artefacts. Bear in mind that the variable names here are just for output and can be changed, but should not interfere with naming of the Temperature load variable.
Example
An example can be found in [ELMER_TRUNK]/elmerice/Tests/FrictionHeat.