bluemira.structural.loads ========================= .. py:module:: bluemira.structural.loads .. autoapi-nested-parse:: Load objects Classes ------- .. autoapisummary:: bluemira.structural.loads.Load bluemira.structural.loads.LoadCase Functions --------- .. autoapisummary:: bluemira.structural.loads._check_load_type bluemira.structural.loads.node_load bluemira.structural.loads.point_load bluemira.structural.loads.distributed_load Module Contents --------------- .. py:class:: Load Load container .. py:attribute:: kind :type: str | bluemira.structural.constants.LoadKind .. py:attribute:: subtype :type: str | bluemira.structural.constants.LoadType .. py:attribute:: Q :type: float | None :value: None .. py:attribute:: w :type: float | None :value: None .. py:attribute:: x :type: float | None :value: None .. py:attribute:: node_id :type: int | None :value: None .. py:attribute:: element_id :type: int | None :value: None .. py:method:: __post_init__() Enforce enums :raises ValueError: Required arguments not provided .. py:function:: _check_load_type(load_type: str | bluemira.structural.constants.LoadType, sub_type: str | bluemira.structural.constants.SubLoadType = 'all') -> bluemira.structural.constants.LoadType .. py:function:: node_load(load: float, load_type: str | bluemira.structural.constants.LoadType) -> numpy.ndarray Calculates the reaction force vector due to a point load Q, applied at a Node. :param load: The value of the point load (which may be a force or a moment) :param load_type: The type of load to apply (from 'Fx', 'Fy', 'Fz', 'Mx', 'My', 'Mz']) 'Fi': force in the 'i' direction 'Mi': moment about the 'i' direction :rtype: The fixed-ends reaction force vector (6) .. py:function:: point_load(load: float, x: float, length: float, load_type: str | bluemira.structural.constants.LoadType) -> numpy.ndarray Calculates the reaction force vector due to a point load Q, applied at x along the element of length L, going from node_1 to node_2. :param load: The value of the point load (which may be a force or a moment) :param x: The parameterised distance along the element from node_1 to node_2, from 0 to 1. :param length: The element length :param load_type: The type of load to apply (from['Fx', 'Fy', 'Fz', 'Mx', 'My', 'Mz']) 'Fi': force in the 'i' direction 'Mi': moment about the 'i' direction :rtype: The fixed-ends reaction force vector (12) .. py:function:: distributed_load(w: float, length: float, load_type: str | bluemira.structural.constants.LoadType) -> numpy.ndarray Calculates the reactor force vector due to a distributed load w, applied over the length of the element. :param w: The value of the distributed load :param length: Length of the element along which the load is applied :param load_type: The type of load to apply (from ['Fx', 'Fy', 'Fz']): 'Fi': force in the 'i' direction .. py:class:: LoadCase(*data: Load) A simple container object for a collection of loads .. py:attribute:: _data :value: [] .. py:method:: __iter__() -> collections.abc.Iterator[Load] Iterate over loads :Yields: Each Load .. py:method:: add_node_load(node_id: int, load: float, load_type: str) Adds a node load to the LoadCase :param node_id: The id_number of the Node to apply the load at :param load: The value of the load :param load_type: The type and axis of the load from ['Fx', 'Fy', 'Fz', 'Mx', 'My', 'Mz'] .. py:method:: add_element_load(element_id: int, load: float, x: float, load_type: str) Adds an element point load to the LoadCase :param element_id: The id_number of the Element to apply the load at :param load: The value of the load :param x: The parameterised and normalised distance along the element x-axis :param load_type: The type and axis of the load (from ['Fx', 'Fy', 'Fz', 'Mx', 'My', 'Mz']) .. py:method:: add_distributed_load(element_id: int, w: float, load_type: str) Adds a distributed load to the LoadCase :param element_id: The id_number of the Element to apply the load at :param w: The value of the distributed load :param load_type: The type and axis of the load (from ['Fx', 'Fy', 'Fz'])