Module weac.layered
Class for the elastic analysis of layered snow slabs.
Expand source code
"""Class for the elastic analysis of layered snow slabs."""
# Project imports
from weac.mixins import FieldQuantitiesMixin, SolutionMixin, AnalysisMixin
from weac.eigensystem import Eigensystem
class Layered(FieldQuantitiesMixin, SolutionMixin, AnalysisMixin, Eigensystem):
"""
Layered beam on elastic foundation model application interface.
Inherits methods for the eigensystem calculation from the base
class Eigensystem(), methods for the calculation of field
quantities from FieldQuantitiesMixin(), methods for the solution
of the system from SolutionMixin() and methods for the output
analysis from AnalysisMixin().
"""
def __init__(self, system='pst-', layers=None):
"""
Initialize model with user input.
Arguments
---------
system : {'pst-', '-pst', 'skier', 'skiers'}, optional
Type of system to analyse: PST cut from the right (pst-),
PST cut form the left (-pst), one skier on infinite
slab (skier) or multiple skiers on infinite slab (skiers).
Default is 'pst-'.
layers : list, optional
2D list of layer densities and thicknesses. Columns are
density(kg/m ^ 3) and thickness(mm). One row corresponds
to one layer. Default is [[240, 200], ].
"""
# Call parent __init__
super().__init__(system=system)
# Set material properties
self.set_beam_properties(layers if layers else [[240, 200], ])
self.set_foundation_properties()
# Set up model
self.calc_foundation_stiffness()
self.calc_laminate_stiffness_matrix()
self.calc_system_matrix()
self.calc_eigensystem()
Classes
class Layered (system='pst-', layers=None)-
Layered beam on elastic foundation model application interface.
Inherits methods for the eigensystem calculation from the base class Eigensystem(), methods for the calculation of field quantities from FieldQuantitiesMixin(), methods for the solution of the system from SolutionMixin() and methods for the output analysis from AnalysisMixin().
Initialize model with user input.
Arguments
system:{'pst-', '-pst', 'skier', 'skiers'}, optional- Type of system to analyse: PST cut from the right (pst-), PST cut form the left (-pst), one skier on infinite slab (skier) or multiple skiers on infinite slab (skiers). Default is 'pst-'.
layers:list, optional- 2D list of layer densities and thicknesses. Columns are density(kg/m ^ 3) and thickness(mm). One row corresponds to one layer. Default is [[240, 200], ].
Expand source code
class Layered(FieldQuantitiesMixin, SolutionMixin, AnalysisMixin, Eigensystem): """ Layered beam on elastic foundation model application interface. Inherits methods for the eigensystem calculation from the base class Eigensystem(), methods for the calculation of field quantities from FieldQuantitiesMixin(), methods for the solution of the system from SolutionMixin() and methods for the output analysis from AnalysisMixin(). """ def __init__(self, system='pst-', layers=None): """ Initialize model with user input. Arguments --------- system : {'pst-', '-pst', 'skier', 'skiers'}, optional Type of system to analyse: PST cut from the right (pst-), PST cut form the left (-pst), one skier on infinite slab (skier) or multiple skiers on infinite slab (skiers). Default is 'pst-'. layers : list, optional 2D list of layer densities and thicknesses. Columns are density(kg/m ^ 3) and thickness(mm). One row corresponds to one layer. Default is [[240, 200], ]. """ # Call parent __init__ super().__init__(system=system) # Set material properties self.set_beam_properties(layers if layers else [[240, 200], ]) self.set_foundation_properties() # Set up model self.calc_foundation_stiffness() self.calc_laminate_stiffness_matrix() self.calc_system_matrix() self.calc_eigensystem()Ancestors
Inherited members