pub struct ZeroLength {
pub node_i: NodeId,
pub node_j: NodeId,
/* private fields */
}Expand description
A 2-node, zero-length connector: no geometry or integration, just direct
per-DOF material evaluation — each direction with a material
assigned independently relates that DOF’s relative displacement between
the two nodes to a force along that same direction. Directions are the
global DOF axes (including rotation) unless an
Orientation (OpenSees’ -orient) rotates them to local axes.
friction adds one cross-DOF coupling term on top of the independent
materials (see Friction’s doc comment for why this lives here rather
than as a Material variant): the shear DOF’s own slot in materials
must stay None — friction owns that direction’s resistance entirely.
Fields§
§node_i: NodeId§node_j: NodeIdImplementations§
Source§impl ZeroLength
impl ZeroLength
pub fn new(node_i: NodeId, node_j: NodeId) -> Self
pub fn with_material(self, dof: usize, material: Material) -> Self
Sourcepub fn with_orientation(
self,
orientation: Orientation,
) -> Result<Self, OrientationError>
pub fn with_orientation( self, orientation: Orientation, ) -> Result<Self, OrientationError>
Evaluate every DOF along the local axes of orientation instead of
the global ones (see Orientation). Errors if the frame leaves the
model plane.
Sourcepub fn with_friction(self, friction: Friction) -> Self
pub fn with_friction(self, friction: Friction) -> Self
friction.normal_dof must already have a material set via
with_material (debug-asserted, since evaluating friction reads the
normal direction’s current force from it); friction.shear_dof
must not.
Trait Implementations§
Source§impl Clone for ZeroLength
impl Clone for ZeroLength
Source§fn clone(&self) -> ZeroLength
fn clone(&self) -> ZeroLength
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for ZeroLength
impl RefUnwindSafe for ZeroLength
impl Send for ZeroLength
impl Sync for ZeroLength
impl Unpin for ZeroLength
impl UnsafeUnpin for ZeroLength
impl UnwindSafe for ZeroLength
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T, U> Imply<T> for U
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.