Skip to content

Commit

Permalink
Surface tension model for phase change (#904)
Browse files Browse the repository at this point in the history
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
  • Loading branch information
hepap authored Oct 14, 2023
1 parent 887394a commit dc6d375
Show file tree
Hide file tree
Showing 12 changed files with 885 additions and 20 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
Running on 1 MPI rank(s)...
Number of active cells: 4096
Number of degrees of freedom: 12675
Volume of triangulation: 36
Number of thermal degrees of freedom: 4225
Number of VOF degrees of freedom: 4225

+------------------------------------------+
| VOF Barycenter |
+------------------------------------------+
time x_vof y_vof vx_vof vy_vof
0.000000 -0.000000 -0.000000 0.000000 0.000000

*******************************************************************************
Transient iteration: 1 Time: 0.005 Time step: 0.005 CFL: 0
*******************************************************************************

+------------------------------------------+
| VOF Barycenter |
+------------------------------------------+
time x_vof y_vof vx_vof vy_vof
0.005000 -0.000000 -0.000000 0.001872 -0.000000

**********************************************************************************
Transient iteration: 2 Time: 0.01 Time step: 0.005 CFL: 0.000465832
**********************************************************************************

+------------------------------------------+
| VOF Barycenter |
+------------------------------------------+
time x_vof y_vof vx_vof vy_vof
0.010000 0.000009 -0.000000 0.003684 0.000000

*********************************************************************************
Transient iteration: 3 Time: 0.015 Time step: 0.005 CFL: 0.00084471
*********************************************************************************

+------------------------------------------+
| VOF Barycenter |
+------------------------------------------+
time x_vof y_vof vx_vof vy_vof
0.015000 0.000028 -0.000000 0.005439 0.000000

*********************************************************************************
Transient iteration: 4 Time: 0.02 Time step: 0.005 CFL: 0.00116533
*********************************************************************************

+------------------------------------------+
| VOF Barycenter |
+------------------------------------------+
time x_vof y_vof vx_vof vy_vof
0.020000 0.000055 -0.000000 0.007143 0.000000

*********************************************************************************
Transient iteration: 5 Time: 0.025 Time step: 0.005 CFL: 0.00144378
*********************************************************************************

+------------------------------------------+
| VOF Barycenter |
+------------------------------------------+
time x_vof y_vof vx_vof vy_vof
0.025000 0.000091 -0.000000 0.008798 0.000000
237 changes: 237 additions & 0 deletions applications_tests/lethe-fluid/liquid_thermocapillary_droplet.prm
Original file line number Diff line number Diff line change
@@ -0,0 +1,237 @@
#----------------------
# Listing of Parameters
#----------------------

set dimension = 2

# Simulation and IO Control
#---------------------------------------------------

subsection simulation control
set method = bdf1
set time end = 0.025
set time step = 0.005
set adapt = false
set max cfl = 0
set output frequency = 0
end

#---------------------------------------------------
# Multiphysics
#---------------------------------------------------

subsection multiphysics
set VOF = true
set heat transfer = true
end

#---------------------------------------------------
# VOF
#---------------------------------------------------

subsection VOF
subsection surface tension force
set enable = true
set phase fraction gradient diffusion factor = 4
set curvature diffusion factor = 1
set output auxiliary fields = true
set enable marangoni effect = true
end
end

#---------------------------------------------------
# Initial condition
#---------------------------------------------------

subsection initial conditions
set type = nodal
subsection uvwp
set Function expression = 0; 0; 0
end
subsection VOF
set Function expression = if (x*x + y*y < 1.0*1.0 , 1, 0)
subsection projection step
set enable = true
set diffusion factor = 1.0
end
end
subsection temperature
set Function expression = x+3
end
end

#---------------------------------------------------
# Physical Properties
#---------------------------------------------------

subsection physical properties
set number of fluids = 2
subsection fluid 1
set density = 1
set kinematic viscosity = 1
set thermal conductivity = 100
end
subsection fluid 0
set density = 1
set kinematic viscosity = 1
set thermal conductivity = 100
end

set number of material interactions = 1
subsection material interaction 0
set type = fluid-fluid
subsection fluid-fluid interaction
set first fluid id = 0
set second fluid id = 1
set surface tension model = phase change
set surface tension coefficient = 3.0
set reference state temperature = 0.0
set temperature-driven surface tension gradient = -1.0
set liquidus temperature = 0
set solidus temperature = -1
end
end
end

#---------------------------------------------------
# Mesh
#---------------------------------------------------

subsection mesh
set type = dealii
set grid type = subdivided_hyper_rectangle
set grid arguments = 1, 1: -3.0, -3.0: 3.0, 3.0: true
set initial refinement = 6
end

# --------------------------------------------------
# Boundary Conditions
#---------------------------------------------------

subsection boundary conditions
set number = 4
subsection bc 0
set id = 0
set type = noslip
end
subsection bc 1
set id = 1
set type = noslip
end
subsection bc 2
set id = 2
set type = noslip
end
subsection bc 3
set id = 3
set type = noslip
end
end

subsection boundary conditions heat transfer
set number = 4
subsection bc 0
set id = 0
set type = temperature
set value = 0
end
subsection bc 1
set id = 1
set type = temperature
set value = 6
end
subsection bc 2
set id = 2
set type = noflux
end
subsection bc 3
set id = 3
set type = noflux
end
end

#---------------------------------------------------
# Post-processing
#---------------------------------------------------

subsection post-processing
set verbosity = verbose
set calculate barycenter = true
end


#---------------------------------------------------
# FEM
#---------------------------------------------------

subsection FEM
set velocity order = 1
set pressure order = 1
set VOF order = 1
set temperature order = 1
end

# --------------------------------------------------
# Non-Linear Solver Control
#---------------------------------------------------

subsection non-linear solver
subsection VOF
set tolerance = 1e-5
set max iterations = 100
set verbosity = quiet
end
subsection heat transfer
set tolerance = 1e-5
set max iterations = 100
set verbosity = quiet
end
subsection fluid dynamics
set tolerance = 1e-5
set max iterations = 100
set verbosity = quiet
end
end

#---------------------------------------------------
# Linear Solver Control
#---------------------------------------------------

subsection linear solver
subsection fluid dynamics
set verbosity = quiet
set method = gmres
set max iters = 8000
set relative residual = 1e-3
set minimum residual = 1e-7
set preconditioner = ilu
set ilu preconditioner fill = 0
set ilu preconditioner absolute tolerance = 1e-12
set ilu preconditioner relative tolerance = 1.00
set max krylov vectors = 200
end
subsection VOF
set verbosity = quiet
set method = gmres
set max iters = 8000
set relative residual = 1e-3
set minimum residual = 1e-9
set preconditioner = ilu
set ilu preconditioner fill = 0
set ilu preconditioner absolute tolerance = 1e-12
set ilu preconditioner relative tolerance = 1.00
set max krylov vectors = 200
end
subsection heat transfer
set verbosity = quiet
set method = gmres
set max iters = 8000
set relative residual = 1e-3
set minimum residual = 1e-9
set preconditioner = ilu
set ilu preconditioner fill = 0
set ilu preconditioner absolute tolerance = 1e-12
set ilu preconditioner relative tolerance = 1.00
set max krylov vectors = 200
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
Running on 1 MPI rank(s)...
Number of active cells: 4096
Number of degrees of freedom: 12675
Volume of triangulation: 36
Number of thermal degrees of freedom: 4225
Number of VOF degrees of freedom: 4225

+------------------------------------------+
| VOF Barycenter |
+------------------------------------------+
time x_vof y_vof vx_vof vy_vof
0.000000 -0.000000 -0.000000 0.000000 0.000000

*******************************************************************************
Transient iteration: 1 Time: 0.005 Time step: 0.005 CFL: 0
*******************************************************************************

+------------------------------------------+
| VOF Barycenter |
+------------------------------------------+
time x_vof y_vof vx_vof vy_vof
0.005000 -0.000000 -0.000000 0.000000 0.000000

*******************************************************************************
Transient iteration: 2 Time: 0.01 Time step: 0.005 CFL: 0
*******************************************************************************

+------------------------------------------+
| VOF Barycenter |
+------------------------------------------+
time x_vof y_vof vx_vof vy_vof
0.010000 -0.000000 -0.000000 0.000000 0.000000

*******************************************************************************
Transient iteration: 3 Time: 0.015 Time step: 0.005 CFL: 0
*******************************************************************************

+------------------------------------------+
| VOF Barycenter |
+------------------------------------------+
time x_vof y_vof vx_vof vy_vof
0.015000 -0.000000 -0.000000 0.000000 0.000000

*******************************************************************************
Transient iteration: 4 Time: 0.02 Time step: 0.005 CFL: 0
*******************************************************************************

+------------------------------------------+
| VOF Barycenter |
+------------------------------------------+
time x_vof y_vof vx_vof vy_vof
0.020000 -0.000000 -0.000000 0.000000 0.000000

*******************************************************************************
Transient iteration: 5 Time: 0.025 Time step: 0.005 CFL: 0
*******************************************************************************

+------------------------------------------+
| VOF Barycenter |
+------------------------------------------+
time x_vof y_vof vx_vof vy_vof
0.025000 -0.000000 -0.000000 0.000000 0.000000
Loading

0 comments on commit dc6d375

Please sign in to comment.