RUFAS.biophysical.animal.bedding.bedding module#

class RUFAS.biophysical.animal.bedding.bedding.Bedding(name: str, bedding_mass_per_day: float, bedding_density: float, bedding_dry_matter_content: float, bedding_carbon_fraction: float, bedding_phosphorus_content: float, bedding_type: BeddingType, sand_removal_efficiency: float | None = None)#

Bases: object

Abstract base class for all bedding types.

This class provides a base for all bedding types. It initializes with a configuration of bedding attributes and includes methods for calculating various bedding properties. While bedding mass and nutrients are added to individual manure streams, which may represent only a fraction of the total manure excreted by a pen, the mass of bedding applied per animal is based on the total number of animals housed in the pen from which the manure stream originated.

Attributes#

namestr

Unique identifier to reference this bedding configuration.

bedding_mass_per_dayfloat

The daily mass of fresh bedding added to the housing area per animal per day on a wet weight basis (kg/animal/day). Bedding mass is applied based on the total number of animals in the pen, and is not based on the stream proportion of the manure stream the bedding is assigned to.

bedding_densityfloat

The density of the bedding on a wet weight basis (kg/\(m^3\)).

bedding_dry_matter_contentfloat

The fraction (0.XX) of dry matter in the bedding (unitless).

bedding_carbon_fractionfloat

The bedding carbon content as a fraction (0.XX) of total mass, on a wet weight basis (unitless).

bedding_phosphorus_contentfloat

The bedding phosphorus content as a fraction (0.XX) of total mass, on a wet weight basis (unitless).

bedding_typestr

The type of bedding material as a string.

Methods#

calc_total_bedding_mass(num_animals: int) -> float

Calculates total mass of bedding used.

calc_total_bedding_volume(num_animals: int) -> float

Calculates total volume of bedding used.

calc_total_bedding_dry_solids(num_animals: int) -> float

Calculates the mass of total dry solids in the bedding used.

calc_total_bedding_water(num_animals: int) -> float

Calculates the mass of water in the bedding used.

__init__(name: str, bedding_mass_per_day: float, bedding_density: float, bedding_dry_matter_content: float, bedding_carbon_fraction: float, bedding_phosphorus_content: float, bedding_type: BeddingType, sand_removal_efficiency: float | None = None) None#

Initialize the base bedding class with specific configuration data.

calculate_total_bedding_mass(num_animals: int) float#

Calculate the total amount of bedding needed for all animals in the given pen.

Parameters#

num_animalsint

The number of animals in the pen.

Returns#

float

Total amount of bedding to be added to the ManureStream instance (kg/day).

calculate_total_bedding_volume(num_animals: int) float#

Calculate the total volume of bedding needed for all animals.

Parameters#

num_animalsint

The number of animals in the pen.

Returns#

float

The total volume to be added to the ManureStream instance (\(m^3\)/day).

calculate_total_bedding_dry_solids(num_animals: int) float#

Calculate the total amount of dry solids in the bedding.

Parameters#

num_animalsint

The number of animals in the pen.

Returns#

float

The total amount of dry solids to be added to the ManureStream instance (kg/day).

calculate_bedding_water(num_animals: int) float#

Calculate the total water in the bedding.

Parameters#

num_animalsint

The number of animals in the pen.

Returns#

float

The total water to be added to the ManureStream instance (kg/day).