Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
ElmerCSC
GitHub Repository: ElmerCSC/elmerfem
Path: blob/devel/elmerice/IceSheet/Greenland/MAKE_MESH/USF_PCond.F90
3206 views
1
FUNCTION DistanceCond(Model,nodenumber,VarIn) RESULT(VarOut)
2
USE DefUtils
3
implicit none
4
!-----------------
5
TYPE(Model_t) :: Model
6
INTEGER :: nodenumber
7
REAL(kind=dp) :: VarIn,VarOut
8
9
IF (VarIn.LT.0.1) THEN
10
VarOut = +1.0
11
ELSE
12
VarOut = -1.0
13
END IF
14
End FUNCTION DistanceCond
15
16
FUNCTION HMax(Model,nodenumber,VarIn) RESULT(VarOut)
17
USE DefUtils
18
implicit none
19
!-----------------
20
TYPE(Model_t) :: Model
21
INTEGER :: nodenumber
22
REAL(kind=dp) :: VarIn !Distance
23
REAL(kind=dp) :: VarOut
24
25
REAL(kind=dp),SAVE :: Extent,HMaxIN,HMaxOut
26
LOGICAL,SAVE :: FirstVisit=.TRUE.
27
28
IF (FirstVisit) THEN
29
Extent=ListGetConstReal( Model % Constants,'Hmax margin extent',UnFoundFatal=.TRUE.)
30
HMaxIN=ListGetConstReal( Model % Constants,'Hmax within margin',UnFoundFatal=.TRUE.)
31
HMaxOut=ListGetConstReal( Model % Constants,'Hmax outside margin',UnFoundFatal=.TRUE.)
32
END IF
33
34
IF ((VarIn.GT.1.0).AND.(VarIn.LT.Extent)) THEN
35
VarOut = HMaxIN
36
ELSE
37
VarOut = HMaxOut
38
END IF
39
40
End FUNCTION HMax
41
42