Skip to content

Commit dc6d375

Browse files
authored
Surface tension model for phase change (#904)
Description of the problem Surface tension force was applied everywhere when treating solid-liquid phase change. This caused strange behaviour at the solid-liquid interface Description of the solution a surface tension model was added to compute the surface tension coefficient as: sigma=alpha_l*(sigma_0+dsigmadt*(T-T_0)), where alpha_l is the liquid fraction How Has This Been Tested? 2 tests added
1 parent 887394a commit dc6d375

12 files changed

+885
-20
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
Running on 1 MPI rank(s)...
2+
Number of active cells: 4096
3+
Number of degrees of freedom: 12675
4+
Volume of triangulation: 36
5+
Number of thermal degrees of freedom: 4225
6+
Number of VOF degrees of freedom: 4225
7+
8+
+------------------------------------------+
9+
| VOF Barycenter |
10+
+------------------------------------------+
11+
time x_vof y_vof vx_vof vy_vof
12+
0.000000 -0.000000 -0.000000 0.000000 0.000000
13+
14+
*******************************************************************************
15+
Transient iteration: 1 Time: 0.005 Time step: 0.005 CFL: 0
16+
*******************************************************************************
17+
18+
+------------------------------------------+
19+
| VOF Barycenter |
20+
+------------------------------------------+
21+
time x_vof y_vof vx_vof vy_vof
22+
0.005000 -0.000000 -0.000000 0.001872 -0.000000
23+
24+
**********************************************************************************
25+
Transient iteration: 2 Time: 0.01 Time step: 0.005 CFL: 0.000465832
26+
**********************************************************************************
27+
28+
+------------------------------------------+
29+
| VOF Barycenter |
30+
+------------------------------------------+
31+
time x_vof y_vof vx_vof vy_vof
32+
0.010000 0.000009 -0.000000 0.003684 0.000000
33+
34+
*********************************************************************************
35+
Transient iteration: 3 Time: 0.015 Time step: 0.005 CFL: 0.00084471
36+
*********************************************************************************
37+
38+
+------------------------------------------+
39+
| VOF Barycenter |
40+
+------------------------------------------+
41+
time x_vof y_vof vx_vof vy_vof
42+
0.015000 0.000028 -0.000000 0.005439 0.000000
43+
44+
*********************************************************************************
45+
Transient iteration: 4 Time: 0.02 Time step: 0.005 CFL: 0.00116533
46+
*********************************************************************************
47+
48+
+------------------------------------------+
49+
| VOF Barycenter |
50+
+------------------------------------------+
51+
time x_vof y_vof vx_vof vy_vof
52+
0.020000 0.000055 -0.000000 0.007143 0.000000
53+
54+
*********************************************************************************
55+
Transient iteration: 5 Time: 0.025 Time step: 0.005 CFL: 0.00144378
56+
*********************************************************************************
57+
58+
+------------------------------------------+
59+
| VOF Barycenter |
60+
+------------------------------------------+
61+
time x_vof y_vof vx_vof vy_vof
62+
0.025000 0.000091 -0.000000 0.008798 0.000000
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,237 @@
1+
#----------------------
2+
# Listing of Parameters
3+
#----------------------
4+
5+
set dimension = 2
6+
7+
# Simulation and IO Control
8+
#---------------------------------------------------
9+
10+
subsection simulation control
11+
set method = bdf1
12+
set time end = 0.025
13+
set time step = 0.005
14+
set adapt = false
15+
set max cfl = 0
16+
set output frequency = 0
17+
end
18+
19+
#---------------------------------------------------
20+
# Multiphysics
21+
#---------------------------------------------------
22+
23+
subsection multiphysics
24+
set VOF = true
25+
set heat transfer = true
26+
end
27+
28+
#---------------------------------------------------
29+
# VOF
30+
#---------------------------------------------------
31+
32+
subsection VOF
33+
subsection surface tension force
34+
set enable = true
35+
set phase fraction gradient diffusion factor = 4
36+
set curvature diffusion factor = 1
37+
set output auxiliary fields = true
38+
set enable marangoni effect = true
39+
end
40+
end
41+
42+
#---------------------------------------------------
43+
# Initial condition
44+
#---------------------------------------------------
45+
46+
subsection initial conditions
47+
set type = nodal
48+
subsection uvwp
49+
set Function expression = 0; 0; 0
50+
end
51+
subsection VOF
52+
set Function expression = if (x*x + y*y < 1.0*1.0 , 1, 0)
53+
subsection projection step
54+
set enable = true
55+
set diffusion factor = 1.0
56+
end
57+
end
58+
subsection temperature
59+
set Function expression = x+3
60+
end
61+
end
62+
63+
#---------------------------------------------------
64+
# Physical Properties
65+
#---------------------------------------------------
66+
67+
subsection physical properties
68+
set number of fluids = 2
69+
subsection fluid 1
70+
set density = 1
71+
set kinematic viscosity = 1
72+
set thermal conductivity = 100
73+
end
74+
subsection fluid 0
75+
set density = 1
76+
set kinematic viscosity = 1
77+
set thermal conductivity = 100
78+
end
79+
80+
set number of material interactions = 1
81+
subsection material interaction 0
82+
set type = fluid-fluid
83+
subsection fluid-fluid interaction
84+
set first fluid id = 0
85+
set second fluid id = 1
86+
set surface tension model = phase change
87+
set surface tension coefficient = 3.0
88+
set reference state temperature = 0.0
89+
set temperature-driven surface tension gradient = -1.0
90+
set liquidus temperature = 0
91+
set solidus temperature = -1
92+
end
93+
end
94+
end
95+
96+
#---------------------------------------------------
97+
# Mesh
98+
#---------------------------------------------------
99+
100+
subsection mesh
101+
set type = dealii
102+
set grid type = subdivided_hyper_rectangle
103+
set grid arguments = 1, 1: -3.0, -3.0: 3.0, 3.0: true
104+
set initial refinement = 6
105+
end
106+
107+
# --------------------------------------------------
108+
# Boundary Conditions
109+
#---------------------------------------------------
110+
111+
subsection boundary conditions
112+
set number = 4
113+
subsection bc 0
114+
set id = 0
115+
set type = noslip
116+
end
117+
subsection bc 1
118+
set id = 1
119+
set type = noslip
120+
end
121+
subsection bc 2
122+
set id = 2
123+
set type = noslip
124+
end
125+
subsection bc 3
126+
set id = 3
127+
set type = noslip
128+
end
129+
end
130+
131+
subsection boundary conditions heat transfer
132+
set number = 4
133+
subsection bc 0
134+
set id = 0
135+
set type = temperature
136+
set value = 0
137+
end
138+
subsection bc 1
139+
set id = 1
140+
set type = temperature
141+
set value = 6
142+
end
143+
subsection bc 2
144+
set id = 2
145+
set type = noflux
146+
end
147+
subsection bc 3
148+
set id = 3
149+
set type = noflux
150+
end
151+
end
152+
153+
#---------------------------------------------------
154+
# Post-processing
155+
#---------------------------------------------------
156+
157+
subsection post-processing
158+
set verbosity = verbose
159+
set calculate barycenter = true
160+
end
161+
162+
163+
#---------------------------------------------------
164+
# FEM
165+
#---------------------------------------------------
166+
167+
subsection FEM
168+
set velocity order = 1
169+
set pressure order = 1
170+
set VOF order = 1
171+
set temperature order = 1
172+
end
173+
174+
# --------------------------------------------------
175+
# Non-Linear Solver Control
176+
#---------------------------------------------------
177+
178+
subsection non-linear solver
179+
subsection VOF
180+
set tolerance = 1e-5
181+
set max iterations = 100
182+
set verbosity = quiet
183+
end
184+
subsection heat transfer
185+
set tolerance = 1e-5
186+
set max iterations = 100
187+
set verbosity = quiet
188+
end
189+
subsection fluid dynamics
190+
set tolerance = 1e-5
191+
set max iterations = 100
192+
set verbosity = quiet
193+
end
194+
end
195+
196+
#---------------------------------------------------
197+
# Linear Solver Control
198+
#---------------------------------------------------
199+
200+
subsection linear solver
201+
subsection fluid dynamics
202+
set verbosity = quiet
203+
set method = gmres
204+
set max iters = 8000
205+
set relative residual = 1e-3
206+
set minimum residual = 1e-7
207+
set preconditioner = ilu
208+
set ilu preconditioner fill = 0
209+
set ilu preconditioner absolute tolerance = 1e-12
210+
set ilu preconditioner relative tolerance = 1.00
211+
set max krylov vectors = 200
212+
end
213+
subsection VOF
214+
set verbosity = quiet
215+
set method = gmres
216+
set max iters = 8000
217+
set relative residual = 1e-3
218+
set minimum residual = 1e-9
219+
set preconditioner = ilu
220+
set ilu preconditioner fill = 0
221+
set ilu preconditioner absolute tolerance = 1e-12
222+
set ilu preconditioner relative tolerance = 1.00
223+
set max krylov vectors = 200
224+
end
225+
subsection heat transfer
226+
set verbosity = quiet
227+
set method = gmres
228+
set max iters = 8000
229+
set relative residual = 1e-3
230+
set minimum residual = 1e-9
231+
set preconditioner = ilu
232+
set ilu preconditioner fill = 0
233+
set ilu preconditioner absolute tolerance = 1e-12
234+
set ilu preconditioner relative tolerance = 1.00
235+
set max krylov vectors = 200
236+
end
237+
end
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
Running on 1 MPI rank(s)...
2+
Number of active cells: 4096
3+
Number of degrees of freedom: 12675
4+
Volume of triangulation: 36
5+
Number of thermal degrees of freedom: 4225
6+
Number of VOF degrees of freedom: 4225
7+
8+
+------------------------------------------+
9+
| VOF Barycenter |
10+
+------------------------------------------+
11+
time x_vof y_vof vx_vof vy_vof
12+
0.000000 -0.000000 -0.000000 0.000000 0.000000
13+
14+
*******************************************************************************
15+
Transient iteration: 1 Time: 0.005 Time step: 0.005 CFL: 0
16+
*******************************************************************************
17+
18+
+------------------------------------------+
19+
| VOF Barycenter |
20+
+------------------------------------------+
21+
time x_vof y_vof vx_vof vy_vof
22+
0.005000 -0.000000 -0.000000 0.000000 0.000000
23+
24+
*******************************************************************************
25+
Transient iteration: 2 Time: 0.01 Time step: 0.005 CFL: 0
26+
*******************************************************************************
27+
28+
+------------------------------------------+
29+
| VOF Barycenter |
30+
+------------------------------------------+
31+
time x_vof y_vof vx_vof vy_vof
32+
0.010000 -0.000000 -0.000000 0.000000 0.000000
33+
34+
*******************************************************************************
35+
Transient iteration: 3 Time: 0.015 Time step: 0.005 CFL: 0
36+
*******************************************************************************
37+
38+
+------------------------------------------+
39+
| VOF Barycenter |
40+
+------------------------------------------+
41+
time x_vof y_vof vx_vof vy_vof
42+
0.015000 -0.000000 -0.000000 0.000000 0.000000
43+
44+
*******************************************************************************
45+
Transient iteration: 4 Time: 0.02 Time step: 0.005 CFL: 0
46+
*******************************************************************************
47+
48+
+------------------------------------------+
49+
| VOF Barycenter |
50+
+------------------------------------------+
51+
time x_vof y_vof vx_vof vy_vof
52+
0.020000 -0.000000 -0.000000 0.000000 0.000000
53+
54+
*******************************************************************************
55+
Transient iteration: 5 Time: 0.025 Time step: 0.005 CFL: 0
56+
*******************************************************************************
57+
58+
+------------------------------------------+
59+
| VOF Barycenter |
60+
+------------------------------------------+
61+
time x_vof y_vof vx_vof vy_vof
62+
0.025000 -0.000000 -0.000000 0.000000 0.000000

0 commit comments

Comments
 (0)