larvaworld.lib.param.composition

Attributes

substrate_dict

Classes

Compound

Chemical compound parameter group for nutritional composition.

Substrate

Substrate nutritional composition parameter group.

Odor

Odor stimulus parameter group for olfactory experiments.

Epoch

Life stage epoch parameter group with substrate and timing.

Life

Life history parameter group for larva development.

AirPuff

Air puff stimulus parameter group for mechanosensory experiments.

Module Contents

class larvaworld.lib.param.composition.Compound(**kwargs)

Bases: larvaworld.lib.param.nested_parameter_group.NestedConf

Chemical compound parameter group for nutritional composition.

Defines molecular properties and elemental composition for substrate compounds used in larva nutrition modeling.

Attributes:

d: Density in g/cm³ w: Molecular weight in g/mol nC: Number of carbon atoms nH: Number of hydrogen atoms nO: Number of oxygen atoms nN: Number of nitrogen atoms ww: Computed weighted molecular mass

Example:
>>> glucose = Compound(w=180.18, nC=6, nH=12, nO=6)
>>> glucose.ww  # Weighted mass computed automatically
d
w
nC
nH
nO
nN
ww
class larvaworld.lib.param.composition.Substrate(quality=1.0, type=None, **kwargs)

Bases: larvaworld.lib.param.nested_parameter_group.NestedConf

Substrate nutritional composition parameter group.

Models substrate nutrition with compound concentrations, quality degradation, and molar concentration calculations for feeding/growth simulations.

Attributes:

composition: Dict of compound densities (g/cm³) per compound type quality: Quality factor (0-1, default: 1.0) for nutrient degradation d: Total substrate density C: Total molar concentration X: Nutrient molar concentration X_ratio: Nutrient/total concentration ratio

Example:
>>> substrate = Substrate(type='standard', quality=0.8)
>>> substrate.get_f(K=0.1)  # Feeding response function
composition
quality
d_water = 1
d_yeast_drop = 0.125
V_drop = 0.05
d
C
X
X_ratio
get_d_X(compounds=None, quality=None) float
get_w_X(compounds=None) float
get_X(quality=None, compounds=None) float
get_mol(V, **kwargs) float
get_f(K, **kwargs) float
get_C(quality=None) float
get_X_ratio(**kwargs) float
larvaworld.lib.param.composition.substrate_dict
class larvaworld.lib.param.composition.Odor(**kwargs)

Bases: larvaworld.lib.param.nested_parameter_group.NestedConf

Odor stimulus parameter group for olfactory experiments.

Defines odorant identity, concentration gradient (Gaussian distribution), and provides concentration computation at spatial positions.

Attributes:

id: Unique odorant identifier intensity: Peak concentration in micromoles (optional) spread: Gradient spread (standard deviation, optional) dist: Multivariate normal distribution (auto-computed) peak_value: Peak concentration value (auto-computed)

Example:
>>> odor = Odor(id='odorA', intensity=2.0, spread=0.01)
>>> odor.gaussian_value([0.005, 0.005])  # Concentration at position
id
intensity
spread
gaussian_value(pos) float | None
draw_dist() None
classmethod oG(c=1, id='Odor')
classmethod oD(c=1, id='Odor')
classmethod oO(o, **kwargs)
class larvaworld.lib.param.composition.Epoch(**kwargs)

Bases: larvaworld.lib.param.nested_parameter_group.NestedConf

Life stage epoch parameter group with substrate and timing.

Defines developmental epoch with age range and associated substrate nutrition, used for life history modeling.

Attributes:

age_range: Epoch duration in hours post-hatch (start, end) substrate: Substrate nutrition for this epoch start: Epoch start time (property) end: Epoch end time (property, can be None for final epoch)

Example:
>>> epoch = Epoch(age_range=(0.0, 96.0), substrate={'type': 'standard'})
>>> epoch.ticks(dt=0.1)  # Simulation ticks for epoch duration
age_range
substrate
property start: float
property end: float | None
ticks(dt) int | float
class larvaworld.lib.param.composition.Life(**kwargs: Any)

Bases: larvaworld.lib.param.nested_parameter_group.NestedConf

Life history parameter group for larva development.

Defines complete life history with age, feeding epochs, and pupation. Supports construction from epoch ticks or pre-starvation protocols.

Attributes:

age: Starting age in hours post-hatch (default: 0.0, None = pupation) epochs: List of Epoch instances defining feeding schedule reach_pupation: Whether to grow to pupation (default: False)

Example:
>>> life = Life(age=96.0, epochs=[epoch1, epoch2])
>>> life_prestarved = Life.prestarved(age=72.0, h_starved=24.0)
age
epochs
reach_pupation
classmethod from_epoch_ticks(ticks=[], subs=None, reach_pupation=False)
classmethod prestarved(age=0.0, h_starved=0.0, rearing_quality=1.0, starvation_quality=0.0, final_quality=None, substrate_type='standard', reach_pupation=False)
class larvaworld.lib.param.composition.AirPuff(**kwargs: Any)

Bases: larvaworld.lib.param.nested_parameter_group.NestedConf

Air puff stimulus parameter group for mechanosensory experiments.

Defines air puff timing and strength for delivering mechanical stimulation during simulations.

Attributes:

duration: Puff duration in seconds (default: 1.0) start_time: Puff onset time in seconds (default: None) strength: Puff strength coefficient (default: 1.0)

Example:
>>> puff = AirPuff(duration=2.0, start_time=30.0, strength=0.8)
duration
speed
direction
start_time
N
interval