Source code for hyperelastic.lab._experiment

from ._plotting import LabPlotter


[docs] class Experiment(LabPlotter): """Results of an experiment along with methods to convert and plot the data. Attributes ---------- label : str The title of the experiment. displacement : array_like The measured or applied displacement data. force : array_like The measured or applied force data. area : float The undeformed reference cross-sectional area used to evaluate the stress. length : float The undeformed reference length used to evaluate the stretch. time : array_like or None The timetrack of the measurement. temperature : array_like or None The measured or applied temperature data. stretch : array_like The stretch as the calculated ratio of the deformed vs. the undeformed length. """ def __init__( self, label, displacement, force, area=1.0, length=1.0, time=None, temperature=None, ): """Initialize the results of an experiment. Parameters ---------- label : str The title of the experiment. displacement : array_like The measured or applied displacement data. force : array_like The measured or applied force data. area : float, optional The undeformed reference cross-sectional area used to evaluate the stress (default is 1.0). length : float, optional The undeformed reference length used to evaluate the stretch (default is 1.0). time : array_like or None, optional The timetrack of the measurement (default is None). temperature : array_like or None, optional The measured or applied temperature data (default is None). """ super().__init__() self.label = label self.displacement = displacement self.force = force self.area = area self.length = length self.time = time self.temperature = temperature self.stretch = 1 + self.displacement / self.length
[docs] def stress(self): "Evaluate the stress as force per undeformed area." return self.force / self.area