Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
ElmerCSC
GitHub Repository: ElmerCSC/elmerfem
Path: blob/devel/fem/tests/AdvDiffFCT/InitDist.f90
3206 views
1
2
FUNCTION InitDist( Model, n, t ) RESULT(f)
3
USE Types
4
USE SolverUtils
5
IMPLICIT NONE
6
7
TYPE(Model_t) :: Model
8
LOGICAL :: Visited = .FALSE., GotIt
9
INTEGER :: n
10
REAL(KIND=dp) :: t,x,y,a1,a2,f
11
12
SAVE Visited, a1, a2
13
14
IF(.NOT. Visited) THEN
15
a1 = 5.0_dp
16
a2 = 10.0_dp
17
Visited = .TRUE.
18
END IF
19
20
f = 0.0_dp
21
22
x = Model % Nodes % x(n)
23
y = Model % Nodes % y(n)
24
25
! cut-off Gaussian
26
! f = MIN(1.0_dp, a1*EXP(-a2*(x**2+y**2)))
27
28
! sharp cylinder
29
IF( (x-0.5)**2 + y**2 < 0.3**2 ) f = 1.0_dp
30
31
! sharp square
32
! IF( ABS(x-0.5) < 0.3 .AND. ABS(y) < 0.3 ) f = 1.0_dp
33
34
35
END FUNCTION InitDist
36
37