emulsim.actors.autonomous.coalescence module

class CoalescenceDropletActor(parameters: dict[str, Any] | None = None)[source]

Bases: ActorBase

Actor merging overlapping droplets.

Parameters:

parameters (dict) – Parameters defining the behavior of the actor. Call show_parameters() for details.

element_classes: tuple[type[_ElementBase] | tuple[type[_ElementBase], ...], ...] | EllipsisType = ((<class 'emulsim.elements.spherical_droplets.SphericalDropletsElement'>, <class 'emulsim.elements.multicomponent_droplets.MulticomponentDropletsElement'>),)

defines the elements this actor handles and in what order they need to be supplied. An ellipsis (…) indicates that all elements and lists of elements are accepted. Setting this attribute allows internal consistency checks.

Type:

tuple

evolve(elements: tuple[_ElementBase, ...], t: float, dt: float) None[source]

Evolve the field state from time t to t + dt

Parameters:
  • elements (tuple of SphericalDropletsElement) – The field element that contains the droplet information

  • t (float) – The current time point

  • dt (float) – The time step

make_evolver_numba(elements: tuple[_ElementBase, ...]) Callable[[tuple[ndarray, ...], float, float], None][source]

Return a function evolve the field state from time t to t + dt

Parameters:

elements (tuple of SphericalDropletsElement) – The field element that contains the droplet information

Returns:

A function with signature

(field_data: ndarray, t: float, dt: float), evolving field_data

Return type:

callable

fill_with_zeros(recarr: recarray) None[source]

Fill a record array with zeros.

ol_fill_with_zeros(recarr: recarray) Callable[[recarray], None][source]

Create numba implementation to fill a record array with zeros.