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

A Constraint class. More...

#include <Constraint.h>

Inheritance diagram for Constraint:
Collaboration diagram for Constraint:

Public Member Functions

 Constraint (unsigned, unsigned, std::vector< Node::DOF > &&, std::vector< Node::DOF > &&, unsigned)
 
const sp_vec & get_resistance () const
 
const sp_mat & get_stiffness () const
 
const vec & get_auxiliary_resistance () const
 
const vec & get_auxiliary_load () const
 
const sp_mat & get_auxiliary_stiffness () const
 
void set_multiplier_size (unsigned)
 
unsigned get_multiplier_size () const
 
- Public Member Functions inherited from ConditionalModifier
 ConditionalModifier (unsigned, unsigned, std::vector< Node::DOF > &&, std::vector< Node::DOF > &&)
 
virtual int initialize (const shared_ptr< DomainBase > &)
 
virtual int process (const shared_ptr< DomainBase > &)=0
 Process and update both stiffness and resistance.
 
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 ()
 

Protected Attributes

unsigned lagrangian_size
 
vec trial_lambda {lagrangian_size, fill::zeros}
 
vec current_lambda {lagrangian_size, fill::zeros}
 
sp_vec resistance
 
sp_mat stiffness
 
vec auxiliary_resistance
 
vec auxiliary_load
 
sp_mat auxiliary_stiffness
 
- 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
 

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
 

Detailed Description

A Constraint class.

The Constraint class.

Author
tlc
Date
03/07/2017
Version
0.1.0

Constructor & Destructor Documentation

◆ Constraint()

Constraint::Constraint ( unsigned  T,
unsigned  AT,
std::vector< Node::DOF > &&  DO,
std::vector< Node::DOF > &&  DC,
unsigned  S 
)

Member Function Documentation

◆ get_auxiliary_load()

const vec & Constraint::get_auxiliary_load ( ) const

◆ get_auxiliary_resistance()

const vec & Constraint::get_auxiliary_resistance ( ) const

◆ get_auxiliary_stiffness()

const sp_mat & Constraint::get_auxiliary_stiffness ( ) const

◆ get_multiplier_size()

unsigned Constraint::get_multiplier_size ( ) const

◆ get_resistance()

const sp_vec & Constraint::get_resistance ( ) const

◆ get_stiffness()

const sp_mat & Constraint::get_stiffness ( ) const

◆ set_multiplier_size()

void Constraint::set_multiplier_size ( unsigned  S)
Here is the caller graph for this function:

Member Data Documentation

◆ auxiliary_load

vec Constraint::auxiliary_load
protected

◆ auxiliary_resistance

vec Constraint::auxiliary_resistance
protected

◆ auxiliary_stiffness

sp_mat Constraint::auxiliary_stiffness
protected

◆ current_lambda

vec Constraint::current_lambda {lagrangian_size, fill::zeros}
protected

◆ lagrangian_size

unsigned Constraint::lagrangian_size
protected

◆ resistance

sp_vec Constraint::resistance
protected

◆ stiffness

sp_mat Constraint::stiffness
protected

◆ trial_lambda

vec Constraint::trial_lambda {lagrangian_size, fill::zeros}
protected

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