FreeJet_Exchange
free liquid jet simulation with ExchangeBEOnRestart
A free liquid jet is injected by a
BND_disk. The jet hits a cylinder and flows around it. During restart, the cylinder is exchanged by another cylinder that is slightly shifted in position (4 variants). The original cylinder is deleted upon restart.
begin_alias{}
"SIM_TYPE" = "INITIAL"
# "RESTART"
"RESTART_offset" = "x_closer"
# "x_further", "z_closer", "z_further"
end_alias
begin_selection{"SIM_TYPE"}
case{"INITIAL"}
restart = (0)
case{"RESTART"}
restart = (4)
begin_alias{}
"offset_x" = "0.001"
"offset_z" = "0.001"
end_alias
begin_selection{"RESTART_offset"}
case{"x_further"}
restart_additionalBE = ( pipe_exchange.msh,
scale{0.001},
offset{[
&pipe_min(1)&+
&offset_x&],0,0} )
case{"x_closer"}
restart_additionalBE = ( pipe_exchange.msh,
scale{0.001},
offset{[
&pipe_min(1)&-
&offset_x&],0,0} )
case{"z_further"}
restart_additionalBE = ( pipe_exchange.msh,
scale{0.001},
offset{&offset_x_init&,0,
&offset_z&} )
case{"z_closer"}
restart_additionalBE = ( pipe_exchange.msh,
scale{0.001},
offset{&offset_x_init&,0,[0.1*
&offset_z&]} )
end_selection
restart_copying = ( pipe_outflow, pipe_outflow_exchange )
restart_copying = ( pipe_inflow, pipe_inflow_exchange )
restart_copying = ( pipe_wall, pipe_wall_exchange )
restart_toberemoved = ( pipe_outflow, pipe_inflow, pipe_wall )
end_selection
In addition to the above commands, it is important to assign the correct
BC_PASSON-flag in the alias definition of the original cylinder.
begin_alias{}
"Inflow" = " CHAMBER1 MOVE-1 ACTIVE$ACT_all$ MAT$MAT_user$ IDENT%IDENT_inflow% TOUCH%TOUCH_always% BC$BC_inflow$ "
"pipe_*" = " REV_ORIENT CHAMBER1 MOVE-1 ACTIVE$ACT_sim$ MAT$MAT_user$ IDENT%IDENT_slip% TOUCH%TOUCH_liquid% BC$BC_wall$ BC_PASSON0 "
end_alias
Here, this is
0, i.e. the boundary condition of the
free surface.
Figure 1: Index of boundary element before restart (left) and directly after restart (right) for x_closer.