suanPan
🧮 An Open Source, Parallel and Heterogeneous Finite Element Analysis Framework
Loading...
Searching...
No Matches
NodalDisplacement Class Reference

A NodalDisplacement class. More...

#include <NodalDisplacement.h>

Inheritance diagram for NodalDisplacement:
Collaboration diagram for NodalDisplacement:

Public Member Functions

 NodalDisplacement (unsigned, double, uvec &&, std::vector< Node::DOF > &&, unsigned)
 
bool if_displacement_control () const final
 
int initialize (const shared_ptr< DomainBase > &) override
 
int process (const shared_ptr< DomainBase > &) override
 Process and update both stiffness and resistance.
 
- Public Member Functions inherited from Load
 Load (unsigned, unsigned, std::vector< Node::DOF > &&, std::vector< Node::DOF > &&, double)
 
const vec & get_trial_load () const
 
const vec & get_trial_settlement () const
 
const sp_vec & get_reference_load () const
 
- Public Member Functions inherited from ConditionalModifier
 ConditionalModifier (unsigned, unsigned, std::vector< Node::DOF > &&, std::vector< Node::DOF > &&)
 
virtual int process_resistance (const shared_ptr< DomainBase > &)
 Process and update resistance.
 
virtual void stage (const shared_ptr< DomainBase > &)
 Some algorithms need to manually modify some variables after solving.
 
std::set< uword > get_involving_nodes (const shared_ptr< DomainBase > &) const
 Return a set of all nodes involved.
 
const uvecget_node_dof () const
 
void deinitialize ()
 
bool is_initialized () const
 
void set_start_step (unsigned)
 
unsigned get_start_step () const
 
void set_end_step (unsigned)
 
unsigned get_end_step () const
 
virtual bool is_connected () const
 Indicate if this modifier can be deemed as an element that needs to account for connectivity.
 
bool validate_step (const shared_ptr< DomainBase > &) const
 Validate itself against the current active step to see if itself needs to be applied.
 
virtual void update_status (const vec &)
 
virtual void clear_status ()
 
virtual void commit_status ()
 
virtual void reset_status ()
 
- Public Member Functions inherited from UniqueTag
 UniqueTag (const UniqueTag &)=delete
 
 UniqueTag (UniqueTag &&)=delete
 
UniqueTagoperator= (const UniqueTag &)=delete
 
UniqueTagoperator= (UniqueTag &&)=delete
 
 ~UniqueTag () override=default
 
 Tag (unsigned=0)
 
 Tag (const Tag &)=default
 
 Tag (Tag &&) noexcept=default
 
- Public Member Functions inherited from Tag
 Tag (unsigned=0)
 
 Tag (const Tag &)=default
 
 Tag (Tag &&) noexcept=default
 
Tagoperator= (const Tag &)=delete
 
Tagoperator= (Tag &&)=delete
 
virtual ~Tag ()=default
 
void set_tag (unsigned) const
 
unsigned get_tag () const
 
void enable ()
 
void disable ()
 
void guard ()
 
void unguard ()
 
bool is_active () const
 
bool is_guarded () const
 
virtual void print ()
 

Additional Inherited Members

- Protected Member Functions inherited from ConditionalModifier
double get_amplitude (const shared_ptr< DomainBase > &) const
 
const std::vector< Node::DOF > & get_dof_component () const
 Return the DoF components, falls back to the DoF order.
 
bool validate_node (const shared_ptr< DomainBase > &) const
 
bool validate_element (const shared_ptr< DomainBase > &) const
 
uvec collect_node_dof (const shared_ptr< DomainBase > &) const
 
- Protected Attributes inherited from Load
const double magnitude
 
vec trial_load
 
vec trial_settlement
 
sp_vec reference_load
 
- Protected Attributes inherited from ConditionalModifier
unsigned start_step {1u}
 
unsigned end_step {static_cast<unsigned>(-1)}
 
const std::vector< Node::DOFdof_order
 
uvec target_node
 
uvec target_element
 
uvec target_dof
 

Detailed Description

A NodalDisplacement class.

The NodalDisplacement class is in charge of handling displacement load.

Author
tlc
Date
17/09/2017
Version
0.1.0

Constructor & Destructor Documentation

◆ NodalDisplacement()

NodalDisplacement::NodalDisplacement ( unsigned  T,
double  L,
uvec &&  N,
std::vector< Node::DOF > &&  D,
unsigned  AT 
)

Member Function Documentation

◆ if_displacement_control()

bool NodalDisplacement::if_displacement_control ( ) const
inlinefinalvirtual

Reimplemented from Load.

◆ initialize()

int NodalDisplacement::initialize ( const shared_ptr< DomainBase > &  D)
overridevirtual

Reimplemented from ConditionalModifier.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ process()

int NodalDisplacement::process ( const shared_ptr< DomainBase > &  )
overridevirtual

Process and update both stiffness and resistance.

This method provides all necessary pieces of typical constraints/loads required, including additional blocks in original global stiffness, border matrix resistance of multiplier, external loads.

Implements ConditionalModifier.

Here is the call graph for this function:

The documentation for this class was generated from the following files: