-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDiffusion_test2.i
129 lines (109 loc) · 2.21 KB
/
Diffusion_test2.i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#[Mesh]
#type = GeneratedMesh
#dim = 3
#nx = 50
#ny = 50
#nz = 5
#zmin = 0
#zmax = 100
#xmin = 0
#xmax = 1000
#ymin = 0
#ymax = 1000
#elem_type = HEX8
#[]
[Mesh]
file = refineMesh_0_0004_mesh.xdr
#second_order=true
[]
[MeshModifiers]
active=''
[./middle_node]
type = AddExtraNodeset
new_boundary = 10
coord = '500 500 100'
[../]
[./subdomains]
type = SubdomainBoundingBox
bottom_left = '480 480 -1.0'
block_id = 1
top_right = '520 520 100'
[../]
[]
[Variables]
[./pressure]
order=FIRST
family=LAGRANGE
[../]
[]
[Kernels]
active='myDiffusion time bf'
[./myDiffusion]
type = MyDiffusion
variable = pressure
coef = 1.0
[../]
[./time]
type = PorosityTimeDerivative
variable = pressure
lumping = true
[../]
[./bf]
type = BodyForce
variable = pressure
function ='0.002*(((x-500)*(x-500)+(y-500)*(y-500))<0.0144)'
[../]
[]
[Materials]
active='conductivity1 porosity1'
[./conductivity1]
type = HydraulicConductivity
conductivity = 4e-13
[../]
[./porosity1]
type = Porosity
phi = 7.0e-11
[../]
[./conductivity2]
type = HydraulicConductivityFunction
conductivity = 1.0
function ='4.4372*(((x-500)*(x-500)+(y-500)*(y-500))<=0.0144)+2e-10*(((x-500)*(x-500)+(y-500)*(y-500))>0.0144)'
[../]
[./porosity2]
type = PorosityFunction
phi = 0.01
function = 1 #'0.0*(((x-500)*(x-500)+(y-500)*(y-500))<=0.0144)+7.2e-11*(((x-500)*(x-500)+(y-500)*(y-500))>0.0144)'
[../]
[]
# observe that with the second BCs the stiffness matrix is SDP and we can use choleski factorization
[BCs]
active=''
[./outflowBC]
type = FunctionNeumannBC
variable = pressure
function='7e1*(((x-500)*(x-500)+(y-500)*(y-500))<0.0144)'
boundary = front [../]
[]
[Preconditioning]
[./prec] type = SMP full = true ksp_norm = default [../]
[]
[Executioner]
type = Transient
solve_type= LINEAR
line_search = none
petsc_options_iname=' -ksp_type -pc_type -pc_factor_shift_type -pc_factor_mat_solver_package '
petsc_options_value=' preonly lu NONZERO mumps '
# petsc_options_iname = '-pc_type -pc_hypre_type'
# petsc_options_value = 'hypre boomeramg'
dt = 10.0
num_steps=100
[./Quadrature]
order=SIXTH
[../]
[]
[Outputs]
file_base = OutputBenchmark1
exodus = true
print_perf_log = true
xdr = true
[]