A droplet evaporation

Hi

I would like to simulate evaporation time for a droplet under forced-convection, using SimNET
I referred to the heat-sink example for problem setting becasue basic physics is similar
however, for the evaporation, boundary is changing as a droplet becomes smaller
in such case, how should i set up boundary conditions ?
could you give me a clue or recommend examples i should take a look ?

thanks

Hello,

This sounds like a great problem! I may need some extra information about your problem to answer though. You can parameterize geometric properties in time. We don’t have any example of this but if you look in the wave equation example you can see how to do transient simulations. Then if you see the 3D parameterized 3 fin example you will see that you can parameterize the geometry with arbitrary values. Basically you will just use the t Symbol to parameterize the geometry. This can allow you to have time dependent geometric boundary conditions.

It could be that you are looking to two way couple the droplet size to the thermal simulation. If this is the case then it is not entirely obvious how to do this in SimNet yet. This would actually require changing the geometric boundary condition based on the current simulation solution. This may not be possible in SimNet yet.

Hi there!
Working on a similar problem over here.

So if my geometry depends on let’s say a variable width, should I write:
width =Function(“width”)({“t”: t_symbol})

And then just use the width variable when building my geometry?

Sorry for the late reply, you can parameterize the geometry by giving a symbol t for the paramaterized quantities. For example, this code would give a circle parameterized by t.

from simnet.sympy_utils.geometry_2d import Circle
from simnet.plot_utils.vtk import var_to_vtk
from sympy import Symbol

# define circle where the radius is changing in time
parameterized_circle = Circle((0, 0), 1 - Symbol('t'))

# sample parameterized surface
boundary = parameterized_circle.sample_boundary(10000, param_ranges={Symbol("t"): (0, 1)})
var_to_vtk(boundary, "parameterized_boundary")

# sample parameterized surface
interior = parameterized_circle.sample_interior(10000, bounds={Symbol('x'): (-2, 2), Symbol('y'): (-2, 2)}, param_ranges={Symbol("t"): (0, 1)})
var_to_vtk(interior, "parameterized_interior")

I should note that there is also a paper here that solves boundary free problems similar to what you are describing [2006.05311] Deep learning of free boundary and Stefan problems. In the up coming release we should be able to implement approaches like this however we will not have an example problem for boundary free problems yet.

1 Like

Hello,

Is it possible now on Modulus 22.04 to implement moving boundary conditions? I tried to implement the Stefan problem in this paper on Modulus 21.06 and cannot couple the variables.