Source code for pkmodel.compartment

#
# Compartment class
#

[docs] class Compartment: """A Pharmokinetic (PK) compartment used in a given model type. Holds compartment data. Parameters ---------- :param name: Name/Type of compartment - must be either central, dose, or peripheral_X. :type name: string :param volume: The volume of compartment, mush be positive and if not set (as not required for dose) it is set to None, which errors if central or peripheral compartment :type volume: float :param k_rate: Transition rate out of a given compartment. Depending on compartment type is CL, k_a, or Q_Pi. :type k_rate: float :param q0: Initial quantity of drug in compartment. :type q0: float """ def __init__(self, name, volume=None, k_rate=None, q0 = 0 ): # Ensure that volume and q0 values are feasible if volume == None and name!='dose': raise ValueError("Volume must be set for this compartment") if k_rate == None: raise ValueError("Transition rate must be set for this compartment") if volume!=None and volume < 0: raise ValueError("Volume must be greater than zero") elif q0 < 0: raise ValueError("Initial drug quantity must be greater than zero") else: # Set Compartment variables self.name = name self.volume = volume self.k_rate = k_rate self.q0 = q0