# cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
# c parameters of the simulation
# cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
begin_alias{}
"H_RelativeChangePerTimeCycle" = "1.006"
# every time cycle, the number of points changes by a factoir of H_RelativeChangePerTimeCycle^3
"N_TimeStepsAfterWhichRefinementStarts" = "200"
# after this number of time cycles, the refinement of the point cloud steadily increases
"H_min" = "0.20"
# minimum smoothing length around the box
"L_0" = "1.2"
# length of umbrella around box where smoothing length is kept constant
"dH_dr" = "0.04"
# derivative of smoothing length
"H_max" = "0.50"
# maximum smoothing length
"InitialWaterLevelAboveGround" = "0.5"
# water level
"InitialOffsetOfBox" = "1, 0, 0.20"
# initial placement of the box
"SpeedOfBox" = "4.0"
# velocity of box in x-direction
"ScalingOfPool" = "1, 1, 1"
# stretch the pool if you like
"ScalingOfBox" = "1, 1, 1"
# stretch the box if you like
end_alias
# cccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
# c Alias Section for geometry parts
# cccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
begin_alias{}
"pool" = " BC$BC_pool$ ACTIVE$init_always$ IDENT%IDENT_slip% MAT$Mat1$ TOUCH%TOUCH_liquid% MOVE$no_move$ LAYER0 CHAMBER1 "
#
"box" = " BC$BC_box$ ACTIVE$init_always$ IDENT%IDENT_slip% MAT$Mat1$ TOUCH%TOUCH_liquid% MOVE$MOVE_box$ LAYER0 CHAMBER1 POSTPROCESS$PP1$ SYMMETRYFACE1 SMOOTH_LENGTH$H_box$ "
#
"cube1" = " ACTIVE$init_always$ IDENT%IDENT_BlindAndEmpty% MAT$Mat1$ TOUCH%TOUCH_liquid% MOVE$MOVE_box$ LAYER0 CHAMBER1 "
#
"cube2" = " ACTIVE$init_always$ IDENT%IDENT_BlindAndEmpty% MAT$Mat1$ TOUCH%TOUCH_liquid% MOVE$no_move$ LAYER0 CHAMBER1 "
#
"cover" = " IGNORE "
#
"MonitorPointsStatic" = " ACTIVE$init_always$ MAT$Mat1$ MOVE$no_move$ LAYER0 CHAMBER1 POSTPROCESS$PP_MonitorPointsStatic$ "
#
"MonitorPointsDynamic" = " ACTIVE$init_always$ MAT$Mat1$ MOVE$MOVE_box$ LAYER0 CHAMBER1 POSTPROCESS$PP_MonitorPointsDynamic$ "
#
"SimplePoint" = " ACTIVE$init_always$ MAT$Mat1$ MOVE$no_move$ LAYER0 CHAMBER1 SMOOTH_LENGTH$H_point$ "
#
end_alias
# cccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
# c Solver Section
# cccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
KOP(1) =
LIQUID V:IMPLICIT
LAGRANGE v-- TURBULENCE:k-epsilon T:EXPIMP(0.5)
# cccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
# c Saving Section
# cccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
restart = (00)
restart_step_size = (100,%RESTART_sequence%)
SAVE_format(1) = 'ENSIGHT6 BINARY N-T-'
SAVE_choose_meth = 'TIME'
SAVE_first(1) = 0.0
SAVE_interval(1) = 0.1
SAVE_file = 'Karre'
SAVE_path = 'results___Hmin=&H_min&___Speed=&SpeedOfBox&___WaterLevel=&InitialWaterLevelAboveGround&'
SAVE_ITEM = ( %SAVE_vector%,[Y
%ind_v(1)%], [Y
%ind_v(2)%], [Y
%ind_v(3)%], "velocity")
SAVE_ITEM = ( %SAVE_vector%,[Y
%ind_n(1)%], [Y
%ind_n(2)%], [Y
%ind_n(3)%], "normal")
SAVE_ITEM = ( %SAVE_scalar%,[Y
%ind_p%], "pressure")
SAVE_ITEM = ( %SAVE_scalar%,[Y
%ind_p_dyn%], "pressure_dyn")
SAVE_ITEM = ( %SAVE_scalar%,[Y
%ind_r%], "density")
SAVE_ITEM = ( %SAVE_scalar%,[Y
%ind_h%], "H")
SAVE_ITEM = ( %SAVE_scalar%,[Y
%ind_kob%], "KOB")
SAVE_ITEM = ( %SAVE_scalar%,[Y
%ind_BC%], "BC")
SAVE_ITEM = ( %SAVE_scalar%,[Y
%ind_proc%], "MPI_process")
SAVE_ITEM = ( %SAVE_scalar%,[Y
%ind_Organize%], "ORGANIZE")
SAVE_ITEM = ( %SAVE_scalar%,[Y
%ind_act%], "ACTIVE")
SAVE_ITEM = ( %SAVE_scalar%,[Y
%ind_TearOff%], "ind_TearOff")
SAVE_ITEM = ( %SAVE_scalar%,[Y
%ind_dtb%/Y
%ind_h%], "DTB")
SAVE_ITEM = ( %SAVE_scalar%,[Y
%ind_vol%], "ind_vol")
INTEGRATION = (
%PUBLICVALUE%, [real(
%CLOCK_STATISTICS_FLIQUID%,1)], %INTEGRATION_Header%, "FLIQUID: sum( clock time all MPI processes ) " )
# sum( clock time of all MPI proicesses )
INTEGRATION = (
%PUBLICVALUE%, [real(
%CLOCK_STATISTICS_FLIQUID%,2)], %INTEGRATION_Header%, "FLIQUID: nbMPIprocesses * max( clock time of all MPI proicesses )" )
# nbMPIprocesses * max( clock time of all MPI proicesses )
INTEGRATION = (
%PUBLICVALUE%, [real(
%CLOCK_STATISTICS_FLIQUID%,3)], %INTEGRATION_Header%, "FLIQUID: nbMPIprocesses * min( clock time of all MPI proicesses )" )
# nbMPIprocesses * max( clock time of all MPI proicesses )
INTEGRATION = (
%PUBLICVALUE%, [real(
%CLOCK_STATISTICS_ORGANIZE%,1)], %INTEGRATION_Header%, "ORGANIZE: sum( clock time all MPI processes ) " )
# sum( clock time of all MPI proicesses )
INTEGRATION = (
%PUBLICVALUE%, [real(
%CLOCK_STATISTICS_ORGANIZE%,2)], %INTEGRATION_Header%, "ORGANIZE: nbMPIprocesses * max( clock time of all MPI proicesses ) " )
# nbMPIprocesses * max( clock time of all MPI proicesses )
INTEGRATION = (
%PUBLICVALUE%, [real(
%CLOCK_STATISTICS_ORGANIZE%,3)], %INTEGRATION_Header%, "ORGANIZE: nbMPIprocesses * min( clock time of all MPI proicesses ) " )
# nbMPIprocesses * max( clock time of all MPI proicesses )
INTEGRATION = (
%PUBLICVALUE%, [real(
%FLIQUID_NbParticles%)], %INTEGRATION_Header%, "FLIQUID: number of relevant particles " )
# number of particles for relevant for the MESHFREE numerics
INTEGRATION = (
%PUBLICVALUE%, [real(
%ORGANIZE_NbParticles%)], %INTEGRATION_Header%, "ORGANIZE: number of relevant particles ")
# number of particles relevant for MESHFREE organization
begin_timestepfile{ "PressureStatic" }
INTEGRATION = (
%PUBLICVALUE%, [real(
%RealTimeSimulation%)])
# this puts the time into the first column
INTEGRATION = (
%POINT_APPROXIMATE%, [Y
%ind_p_dyn%+Y
%ind_p%],
$PP_MonitorPointsStatic$ )
# this subsequently puts the values of all node points in the subsequent columns
end_timestepfile
begin_timestepfile{ "PressureDynamic" }
INTEGRATION = (
%PUBLICVALUE%, [real(
%RealTimeSimulation%)])
# this puts the time into the first column
INTEGRATION = (
%POINT_APPROXIMATE%, [Y
%ind_p_dyn%+Y
%ind_p%],
$PP_MonitorPointsDynamic$ )
# this subsequently puts the values of all node points in the subsequent columns
end_timestepfile
# cccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
# c Time Step Control Section
# cccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
DELT_dt_variable = 1
DELT_dt_start = 0.0001
DELT_dt = 0.25
Tstart = 0.0
Tend = 2.0
# cccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
# c Smoothing Length Section
# cccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
USER_h_funct = 'DSCR'
SMOOTH_LENGTH(
$H_box$) = (
%H_spherical%, [equn(
$ScalingOfH$)*
&H_min&],
&L_0&,
&dH_dr&, [equn(
$ScalingOfH$)*
&H_max&] )
# refine smoothing length around the box
# USER_h_max = &H_max&
# USER_h_min = &H_min&
begin_equation{$ScalingOfH$}
1.0/(
&H_RelativeChangePerTimeCycle&^(max( real(
%NumberTimeStepsExecuted%)-
&N_TimeStepsAfterWhichRefinementStarts& , 0 ) ) )
# refine steadily the smoothing length after a certain number of time cacles
end_equation
# cccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
# c Boundary Elements Section
# cccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
begin_boundary_elements{}
include{pool.FDNEUT},
scale{&ScalingOfPool&}
# surface triangulation of water channel
include{box.FDNEUT},
scale{&ScalingOfBox&},
offset{&InitialOffsetOfBox&}
# surface triangulation of box
include{MonitorPointsStatic.inp}
# points where pressure is to be evaluated: sidewise on the fronside of the box
include{MonitorPointsDynamic.inp}
# points where pressure is to be evaluated: along channel
BND_plane BC$BC_free$ ACTIVE$init_never$ MAT$Mat1$ LAYER0 CHAMBER1 0 0
&InitialWaterLevelAboveGround& 0 0 -1
end_boundary_elements
# cccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
# c Physical Properties Section
# cccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
density(
$Mat1$) = 1000
#[1000 - 1000*Y%ind_time%]
cv(
$Mat1$) = 1200
lambda(
$Mat1$) = 5000
eta(
$Mat1$) = 0.001
mue(
$Mat1$) = 0
sigma(
$Mat1$) = 0.0
heatsource(
$Mat1$) = 0
gravity(
$Mat1$) = (0, 0, -10)
# cccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
# c Boundary Condition Section
# cccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
# temperature
BC_T(0) = (
%BND_NEUMANN%, 0, 0)
BC_T(
$BC_free$) = (
%BND_NEUMANN%, 0, 0)
BC_T(
$BC_pool$) = (
%BND_DIRICH%, 0, 0)
BC_T(
$BC_box$) = (
%BND_DIRICH%, 1, 0)
# velocity
BC_v(0) = (
%BND_free%,0,0,0,0.3)
BC_v(
$BC_free$) = (
%BND_free%,0,0,0,0.3)
BC_v(
$BC_pool$) = (
%BND_slip%,0,0.3)
BC_v(
$BC_box$) = (
%BND_slip%,0,0.3)
# hydrostatic/correction pressure
BC_p(0) = (%BND_free_implicit%)
BC_p(
$BC_free$) = (%BND_free_implicit%)
BC_p(
$BC_pool$) = (
%BND_wall%,1.0)
BC_p(
$BC_box$) = (
%BND_wall%,1.0)
# dynamic pressure
BCON(
$BC_pool$,%ind_p_dyn%) = (
%BND_slip%)
BCON(
$BC_box$,%ind_p_dyn%) = (
%BND_slip%)
# turbulent k
BC_k(0) = (
%BND_free%)
BC_k(
$BC_free$) = (
%BND_free%)
BC_k(
$BC_pool$) = (
%BND_wall%)
BC_k(
$BC_box$) = (
%BND_wall%)
# turbulent epsilon
BC_eps(0) = (
%BND_free%)
BC_eps(
$BC_free$) = (
%BND_free%)
BC_eps(
$BC_pool$) = (
%BND_wall%)
BC_eps(
$BC_box$) = (
%BND_wall%)
# keep velocity components bounded
CODI_min_max(
$Mat1$,%ind_v(1)%) = ([-3.0*
&SpeedOfBox&],[3.0*
&SpeedOfBox&])
CODI_min_max(
$Mat1$,%ind_v(2)%) = ([-3.0*
&SpeedOfBox&],[3.0*
&SpeedOfBox&])
CODI_min_max(
$Mat1$,%ind_v(3)%) = ([-3.0*
&SpeedOfBox&],[3.0*
&SpeedOfBox&])
# cccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
# c Initial Condition Section
# cccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
INITDATA(
$Mat1$,%ind_T%) = 0
INITDATA(
$Mat1$,%ind_v(1)%) = 0
INITDATA(
$Mat1$,%ind_v(2)%) = 0
INITDATA(
$Mat1$,%ind_v(3)%) = 0
INITDATA(
$Mat1$,%ind_p%) = 0
# cccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
# c Move the geoemtry
# cccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
MOVE(
$no_move$) = (
%MOVE_velocity%, 0, 0, 0 )
MOVE(
$MOVE_box$) = (
%MOVE_velocity%, curve{
$CRV_move$}{0}, 0, 0 )
begin_curve{$CRV_move$}
0 0
1
&SpeedOfBox&
1000
&SpeedOfBox&
end_curve
# cccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
# c Active Section
# cccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
ACTIVE(
$init_always$) = (
%ACTIVE_init%,
%ACTIVE_always% )
ACTIVE(
$init_never$) = (
%ACTIVE_init% )