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. Here should be a picture
Figure 1: Index of boundary element before restart (left) and directly after restart (right) for x_closer.