ACTIVE

defines active flags for boundary aliases

The ACTIVE statement specifies whether BoundaryElements are participating in the initial filling and/or are visible for the pointcloud during the simulation phase.

A definition of an ACTIVE definition is a tupel. The first entry is for the initial filling phase (%ACTIVE_init%, %ACTIVE_noinit%, %ACTIVE_nofill%) (mandatory) and the second entry for the actual simulation (%ACTIVE_always%) (optional). Leaving away %ACTIVE_always% will deactivate the boundary during simulation.

The Common combinations for ACTIVE statements are:
ACTIVE($init_always$) = ( %ACTIVE_init%, %ACTIVE_always% ) # initially wet wall, inflow, or outflow ACTIVE($noinit_always$) = ( %ACTIVE_noinit%, %ACTIVE_always% ) # initially non wet wall, if simulation starts at a nozzle, ACTIVE($nofill_always$) = ( %ACTIVE_nofill%, %ACTIVE_always% ) # complex geometry which would try too many seeding points in filling ACTIVE($init_never$) = ( %ACTIVE_init% ) # free surface: fills initially, but is not kept for simulation
These ACTIVE statements are then later referenced in the AliasForGeometryItems. The behavior of %ACTIVE_init% can be different when using ORGANIZE_ReducedFillingOfWalls.

Advanced options for activity during simulation

Intervals of activity

If the boundary has to be switched on/off after certain simulation times, or if there are activity intervals, the keyword %ACTIVE_interval% can be used:

ACTIVE($init_temporal$) = ( %ACTIVE_init%, %ACTIVE_interval%, t_on_1, t_off_1 ) # boundary is active for all times t fulfilling (t_on_1 <= t <= t_off_1) ACTIVE($noinit_temporal2$) = ( %ACTIVE_noinit%, %ACTIVE_interval%, t_on_1, t_off_1, t_on_2, t_off_2 ) # boundary is active for all times t fulfilling (t_on_1 <= t <= t_off_1) OR (t_on_2 <= t <= t_off_2) ACTIVE($noinit_temporalN$) = ( %ACTIVE_noinit%, %ACTIVE_interval%, t_on_1, t_off_1, ..., t_on_N, t_off_N ) # N time intervals.
This is equivalent:
ACTIVE($init_temporal$) = ( %ACTIVE_init%, t_on_1, t_off_1 ) # boundary is active for all times t fulfilling (t_on_1 <= t <= t_off_1) ACTIVE($noinit_temporal2$) = ( %ACTIVE_noinit%, t_on_1, t_off_1, t_on_2, t_off_2 ) # boundary is active for all times t fulfilling (t_on_1 <= t <= t_off_1) OR (t_on_2 <= t <= t_off_2) ACTIVE($noinit_temporalN$) = ( %ACTIVE_noinit%, t_on_1, t_off_1, ..., t_on_N, t_off_N ) # N time intervals.
  • The intervals have to be given in increasing order.
  • There is no limit to the number of time intervals.

Trigger function for activity

Also a function can be provided for determining, if a boundary element shall be active or not.

ACTIVE($init_function$) = ( %ACTIVE_init%, %ACTIVE_function%, [ TriggerFunction] )

The given function is evaluated for every boundary element in every timestep and if the result is > 0, then it is active. Else, it is inactive. In particular, BE_Functions can be used.

Good to know:
List of members:
%ACTIVE_init% active during initial filling
%ACTIVE_nofill% only visible during initial filling
%ACTIVE_noinit% not active during initial filling
%ACTIVE_always% active during simulation
%ACTIVE_interval% active during simulation in time intervals
%ACTIVE_function% active during simulation by trigger function