anuga.Rate_operator

class anuga.Rate_operator(domain, rate=0.0, factor=1.0, region=None, indices=None, polygon=None, center=None, radius=None, default_rate=0.0, description=None, label=None, logging=False, verbose=False, monitor=False)[source]
__init__(domain, rate=0.0, factor=1.0, region=None, indices=None, polygon=None, center=None, radius=None, default_rate=0.0, description=None, label=None, logging=False, verbose=False, monitor=False)[source]

Create a Rate_operator that adds water over a region at a specified rate.

The applied rate is rate * factor in m/s (depth per second). For common use-cases prefer the factory constructors:

  • Rate_operator.rainfall(domain, rate_mm_hr) — rainfall in mm/hr

  • Rate_operator.inflow(domain, rate_m3_s) — inflow in m³/s

Parameters

domainanuga.Domain

The simulation domain.

ratescalar, callable, Quantity, or ndarray

Rate in m/s (after multiplication by factor). May be a scalar, a function of t, (x, y), or (x, y, t), a Quantity, a numpy array of shape (n_triangles,), or an xarray DataArray.

factorscalar or callable(t)

Multiplier applied to rate before adding to stage. Use to convert units (e.g. 1/(1000*3600) for mm/hr → m/s).

regionRegion, optional

Pre-built Region. Cannot be combined with polygon, center, radius, or indices.

indiceslist, optional

Triangle indices where the rate is applied.

polygonlist of [x, y], optional

Polygon bounding the application area.

center[x, y], optional

Centre of a circular application area.

radiusfloat, optional

Radius of the circular application area.

default_ratescalar or callable(t), optional

Rate to use outside the time interval of the rate function/xarray.

description, label, logging, verbose, monitor :

Passed to the base Operator.

Methods

__init__(domain[, rate, factor, region, ...])

Create a Rate_operator that adds water over a region at a specified rate.

activate_logging()

get_Q([full_only])

Calculate current overall discharge

get_factor([t])

Provide a factor to calculate added volume

get_non_spatial_rate([t])

Provide a rate to calculate added volume

get_spatial_rate([x, y, t])

Provide a rate to calculate added volume only call if self.rate_spatial = True

get_time()

get_timestep()

inflow(domain, rate[, polygon, region, ...])

Create a Rate_operator for a volumetric inflow.

log_timestepping_statistics()

parallel_safe()

Operator is applied independently on each cell and so is parallel safe.

print_statistics()

print_timestepping_statistics()

rainfall(domain, rate[, polygon, region, ...])

Create a Rate_operator for rainfall.

set_areas()

set_default_rate(default_rate)

Check and store default_rate

set_factor(factor)

Set factor.

set_full_indices()

set_label([label])

set_logging([flag])

set_rate(rate)

Set rate.

statistics()

timestepping_statistics()

Attributes

counter