suanPan
Node Class Referencefinal

The Node class holds the number of DoFs, coordinate, displacement, velocity and acceleration. More...

#include <Node.h>

Inheritance diagram for Node:
Collaboration diagram for Node:

Public Member Functions

 Node (unsigned=0)
 
 Node (unsigned, vec &&)
 
 Node (unsigned, unsigned)
 initialize num_dof and set the size of coordinate to num_dof. More...
 
 Node (unsigned, unsigned, vec &&)
 initialize num_dof and coordinate. More...
 
 Node (const Node &)=delete
 
 Node (Node &&)=delete
 
Nodeoperator= (const Node &)=delete
 
Nodeoperator= (Node &&)=delete
 
 ~Node () override=default
 
void initialize (const shared_ptr< DomainBase > &)
 This method should be called after Element objects are set. Element objects will set the minimum number of DoFs for all related Node objects. This method initializes all member variables with the size of num_dof and fills original_dof with -1 to indicate it should be omitted from the system. More...
 
void set_initialized (bool)
 
bool get_initialized () const
 
void set_dof_number (unsigned)
 
unsigned get_dof_number () const
 
void set_dof_identifier (const std::vector< DOF > &)
 
const std::vector< DOF > & get_dof_identifier () const
 
void set_original_dof (unsigned &)
 
void set_original_dof (const uvec &)
 
const uvec & get_original_dof () const
 
void set_reordered_dof (const uvec &)
 
const uvec & get_reordered_dof () const
 
void set_coordinate (const vec &)
 
const vec & get_coordinate () const
 
void set_current_resistance (const vec &)
 
void set_current_damping_force (const vec &)
 
void set_current_nonviscous_force (const vec &)
 
void set_current_inertial_force (const vec &)
 
void set_current_displacement (const vec &)
 
void set_current_velocity (const vec &)
 
void set_current_acceleration (const vec &)
 
void set_incre_resistance (const vec &)
 
void set_incre_damping_force (const vec &)
 
void set_incre_nonviscous_force (const vec &)
 
void set_incre_inertial_force (const vec &)
 
void set_incre_displacement (const vec &)
 
void set_incre_velocity (const vec &)
 
void set_incre_acceleration (const vec &)
 
void set_trial_resistance (const vec &)
 
void set_trial_damping_force (const vec &)
 
void set_trial_nonviscous_force (const vec &)
 
void set_trial_inertial_force (const vec &)
 
void set_trial_displacement (const vec &)
 
void set_trial_velocity (const vec &)
 
void set_trial_acceleration (const vec &)
 
const vec & get_current_resistance () const
 
const vec & get_current_damping_force () const
 
const vec & get_current_nonviscous_force () const
 
const vec & get_current_inertial_force () const
 
const vec & get_current_displacement () const
 
const vec & get_current_velocity () const
 
const vec & get_current_acceleration () const
 
const vec & get_incre_resistance () const
 
const vec & get_incre_damping_force () const
 
const vec & get_incre_nonviscous_force () const
 
const vec & get_incre_inertial_force () const
 
const vec & get_incre_displacement () const
 
const vec & get_incre_velocity () const
 
const vec & get_incre_acceleration () const
 
const vec & get_trial_resistance () const
 
const vec & get_trial_damping_force () const
 
const vec & get_trial_nonviscous_force () const
 
const vec & get_trial_inertial_force () const
 
const vec & get_trial_displacement () const
 
const vec & get_trial_velocity () const
 
const vec & get_trial_acceleration () const
 
void update_current_resistance (const vec &)
 
void update_current_damping_force (const vec &)
 
void update_current_nonviscous_force (const vec &)
 
void update_current_inertial_force (const vec &)
 
void update_current_displacement (const vec &)
 
void update_current_velocity (const vec &)
 
void update_current_acceleration (const vec &)
 
void update_incre_resistance (const vec &)
 
void update_incre_damping_force (const vec &)
 
void update_incre_nonviscous_force (const vec &)
 
void update_incre_inertial_force (const vec &)
 
void update_incre_displacement (const vec &)
 
void update_incre_velocity (const vec &)
 
void update_incre_acceleration (const vec &)
 
void update_trial_resistance (const vec &)
 
void update_trial_damping_force (const vec &)
 
void update_trial_nonviscous_force (const vec &)
 
void update_trial_inertial_force (const vec &)
 
void update_trial_displacement (const vec &)
 
void update_trial_velocity (const vec &)
 
void update_trial_acceleration (const vec &)
 
void update_current_status (const vec &)
 
void update_current_status (const vec &, const vec &)
 
void update_current_status (const vec &, const vec &, const vec &)
 
void update_incre_status (const vec &)
 
void update_incre_status (const vec &, const vec &)
 
void update_incre_status (const vec &, const vec &, const vec &)
 
void update_trial_status (const vec &)
 
void update_trial_status (const vec &, const vec &)
 
void update_trial_status (const vec &, const vec &, const vec &)
 
void commit_status ()
 
void reset_status ()
 
void clear_status ()
 
std::vector< vec > record (OutputType) const
 
void print () override
 
- Public Member Functions inherited from Tag
 Tag (unsigned=0)
 
 Tag (const Tag &)=default
 
 Tag (Tag &&)=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 Tag
 Tag (unsigned=0)
 
 Tag (const Tag &)=default
 
 Tag (Tag &&)=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 inherited from NodeData
unsigned num_dof = 0
 
vec coordinate
 
uvec original_dof
 
uvec reordered_dof
 
vec current_resistance
 
vec current_damping_force
 
vec current_nonviscous_force
 
vec current_inertial_force
 
vec current_displacement
 
vec current_velocity
 
vec current_acceleration
 
vec incre_resistance
 
vec incre_damping_force
 
vec incre_nonviscous_force
 
vec incre_inertial_force
 
vec incre_displacement
 
vec incre_velocity
 
vec incre_acceleration
 
vec trial_resistance
 
vec trial_damping_force
 
vec trial_nonviscous_force
 
vec trial_inertial_force
 
vec trial_displacement
 
vec trial_velocity
 
vec trial_acceleration
 

Detailed Description

The Node class holds the number of DoFs, coordinate, displacement, velocity and acceleration.

The current/committed, incremental and trial status of displacement, velocity and acceleration are stored. These variables will be the communication bridge(s) between Domain, Workshop and Element objects. That is, Element objects do not directly get information from the Workshop. Instead, Workshop passes information to Node objects through the Domain, Element objects acquire new status from associated Node objects only. In this manner, the relationship between those modules remains simple.

Author
tlc
Date
22/07/2017
Version
0.2.0

Constructor & Destructor Documentation

◆ Node() [1/6]

Node::Node ( unsigned  T = 0)
explicit

◆ Node() [2/6]

Node::Node ( unsigned  T,
vec &&  C 
)

◆ Node() [3/6]

Node::Node ( unsigned  T,
unsigned  D 
)

initialize num_dof and set the size of coordinate to num_dof.

Parameters
Tunique_tag
Dnum_dof

◆ Node() [4/6]

Node::Node ( unsigned  T,
unsigned  D,
vec &&  C 
)

initialize num_dof and coordinate.

Parameters
Tunique_tag
Dnum_dof
Ccoordinate

◆ Node() [5/6]

Node::Node ( const Node )
delete

◆ Node() [6/6]

Node::Node ( Node &&  )
delete

◆ ~Node()

Node::~Node ( )
overridedefault

Member Function Documentation

◆ clear_status()

void Node::clear_status ( )
Here is the call graph for this function:

◆ commit_status()

void Node::commit_status ( )

◆ get_coordinate()

const vec & Node::get_coordinate ( ) const
Here is the caller graph for this function:

◆ get_current_acceleration()

const vec & Node::get_current_acceleration ( ) const

◆ get_current_damping_force()

const vec & Node::get_current_damping_force ( ) const

◆ get_current_displacement()

const vec & Node::get_current_displacement ( ) const

◆ get_current_inertial_force()

const vec & Node::get_current_inertial_force ( ) const

◆ get_current_nonviscous_force()

const vec & Node::get_current_nonviscous_force ( ) const

◆ get_current_resistance()

const vec & Node::get_current_resistance ( ) const

◆ get_current_velocity()

const vec & Node::get_current_velocity ( ) const

◆ get_dof_identifier()

const std::vector< DOF > & Node::get_dof_identifier ( ) const

◆ get_dof_number()

unsigned Node::get_dof_number ( ) const

◆ get_incre_acceleration()

const vec & Node::get_incre_acceleration ( ) const

◆ get_incre_damping_force()

const vec & Node::get_incre_damping_force ( ) const

◆ get_incre_displacement()

const vec & Node::get_incre_displacement ( ) const

◆ get_incre_inertial_force()

const vec & Node::get_incre_inertial_force ( ) const

◆ get_incre_nonviscous_force()

const vec & Node::get_incre_nonviscous_force ( ) const

◆ get_incre_resistance()

const vec & Node::get_incre_resistance ( ) const

◆ get_incre_velocity()

const vec & Node::get_incre_velocity ( ) const

◆ get_initialized()

bool Node::get_initialized ( ) const

◆ get_original_dof()

const uvec & Node::get_original_dof ( ) const

◆ get_reordered_dof()

const uvec & Node::get_reordered_dof ( ) const
Here is the caller graph for this function:

◆ get_trial_acceleration()

const vec & Node::get_trial_acceleration ( ) const

◆ get_trial_damping_force()

const vec & Node::get_trial_damping_force ( ) const

◆ get_trial_displacement()

const vec & Node::get_trial_displacement ( ) const

◆ get_trial_inertial_force()

const vec & Node::get_trial_inertial_force ( ) const

◆ get_trial_nonviscous_force()

const vec & Node::get_trial_nonviscous_force ( ) const

◆ get_trial_resistance()

const vec & Node::get_trial_resistance ( ) const

◆ get_trial_velocity()

const vec & Node::get_trial_velocity ( ) const

◆ initialize()

void Node::initialize ( const shared_ptr< DomainBase > &  D)

This method should be called after Element objects are set. Element objects will set the minimum number of DoFs for all related Node objects. This method initializes all member variables with the size of num_dof and fills original_dof with -1 to indicate it should be omitted from the system.

Here is the call graph for this function:

◆ operator=() [1/2]

Node & Node::operator= ( const Node )
delete

◆ operator=() [2/2]

Node & Node::operator= ( Node &&  )
delete

◆ print()

void Node::print ( )
overridevirtual

Reimplemented from Tag.

Here is the call graph for this function:

◆ record()

std::vector< vec > Node::record ( OutputType  L) const
Here is the caller graph for this function:

◆ reset_status()

void Node::reset_status ( )

◆ set_coordinate()

void Node::set_coordinate ( const vec &  C)

◆ set_current_acceleration()

void Node::set_current_acceleration ( const vec &  A)

◆ set_current_damping_force()

void Node::set_current_damping_force ( const vec &  R)

◆ set_current_displacement()

void Node::set_current_displacement ( const vec &  D)

◆ set_current_inertial_force()

void Node::set_current_inertial_force ( const vec &  R)

◆ set_current_nonviscous_force()

void Node::set_current_nonviscous_force ( const vec &  R)

◆ set_current_resistance()

void Node::set_current_resistance ( const vec &  R)

◆ set_current_velocity()

void Node::set_current_velocity ( const vec &  V)

◆ set_dof_identifier()

void Node::set_dof_identifier ( const std::vector< DOF > &  D)
Here is the call graph for this function:

◆ set_dof_number()

void Node::set_dof_number ( unsigned  D)

◆ set_incre_acceleration()

void Node::set_incre_acceleration ( const vec &  A)

◆ set_incre_damping_force()

void Node::set_incre_damping_force ( const vec &  R)

◆ set_incre_displacement()

void Node::set_incre_displacement ( const vec &  D)

◆ set_incre_inertial_force()

void Node::set_incre_inertial_force ( const vec &  R)

◆ set_incre_nonviscous_force()

void Node::set_incre_nonviscous_force ( const vec &  R)

◆ set_incre_resistance()

void Node::set_incre_resistance ( const vec &  R)

◆ set_incre_velocity()

void Node::set_incre_velocity ( const vec &  V)

◆ set_initialized()

void Node::set_initialized ( bool  B)
Here is the caller graph for this function:

◆ set_original_dof() [1/2]

void Node::set_original_dof ( const uvec &  D)
Here is the call graph for this function:

◆ set_original_dof() [2/2]

void Node::set_original_dof ( unsigned &  F)
Here is the call graph for this function:

◆ set_reordered_dof()

void Node::set_reordered_dof ( const uvec &  R)

◆ set_trial_acceleration()

void Node::set_trial_acceleration ( const vec &  A)

◆ set_trial_damping_force()

void Node::set_trial_damping_force ( const vec &  R)

◆ set_trial_displacement()

void Node::set_trial_displacement ( const vec &  D)

◆ set_trial_inertial_force()

void Node::set_trial_inertial_force ( const vec &  R)

◆ set_trial_nonviscous_force()

void Node::set_trial_nonviscous_force ( const vec &  R)

◆ set_trial_resistance()

void Node::set_trial_resistance ( const vec &  R)

◆ set_trial_velocity()

void Node::set_trial_velocity ( const vec &  V)

◆ update_current_acceleration()

void Node::update_current_acceleration ( const vec &  A)

◆ update_current_damping_force()

void Node::update_current_damping_force ( const vec &  R)

◆ update_current_displacement()

void Node::update_current_displacement ( const vec &  D)

◆ update_current_inertial_force()

void Node::update_current_inertial_force ( const vec &  R)

◆ update_current_nonviscous_force()

void Node::update_current_nonviscous_force ( const vec &  R)

◆ update_current_resistance()

void Node::update_current_resistance ( const vec &  R)

◆ update_current_status() [1/3]

void Node::update_current_status ( const vec &  D)
Here is the caller graph for this function:

◆ update_current_status() [2/3]

void Node::update_current_status ( const vec &  D,
const vec &  V 
)
Here is the call graph for this function:

◆ update_current_status() [3/3]

void Node::update_current_status ( const vec &  D,
const vec &  V,
const vec &  A 
)
Here is the call graph for this function:

◆ update_current_velocity()

void Node::update_current_velocity ( const vec &  V)

◆ update_incre_acceleration()

void Node::update_incre_acceleration ( const vec &  A)

◆ update_incre_damping_force()

void Node::update_incre_damping_force ( const vec &  R)

◆ update_incre_displacement()

void Node::update_incre_displacement ( const vec &  D)

◆ update_incre_inertial_force()

void Node::update_incre_inertial_force ( const vec &  R)

◆ update_incre_nonviscous_force()

void Node::update_incre_nonviscous_force ( const vec &  R)

◆ update_incre_resistance()

void Node::update_incre_resistance ( const vec &  R)

◆ update_incre_status() [1/3]

void Node::update_incre_status ( const vec &  D)
Here is the caller graph for this function:

◆ update_incre_status() [2/3]

void Node::update_incre_status ( const vec &  D,
const vec &  V 
)
Here is the call graph for this function:

◆ update_incre_status() [3/3]

void Node::update_incre_status ( const vec &  D,
const vec &  V,
const vec &  A 
)
Here is the call graph for this function:

◆ update_incre_velocity()

void Node::update_incre_velocity ( const vec &  V)

◆ update_trial_acceleration()

void Node::update_trial_acceleration ( const vec &  A)

◆ update_trial_damping_force()

void Node::update_trial_damping_force ( const vec &  R)

◆ update_trial_displacement()

void Node::update_trial_displacement ( const vec &  D)

◆ update_trial_inertial_force()

void Node::update_trial_inertial_force ( const vec &  R)

◆ update_trial_nonviscous_force()

void Node::update_trial_nonviscous_force ( const vec &  R)

◆ update_trial_resistance()

void Node::update_trial_resistance ( const vec &  R)

◆ update_trial_status() [1/3]

void Node::update_trial_status ( const vec &  D)
Here is the caller graph for this function:

◆ update_trial_status() [2/3]

void Node::update_trial_status ( const vec &  D,
const vec &  V 
)
Here is the call graph for this function:

◆ update_trial_status() [3/3]

void Node::update_trial_status ( const vec &  D,
const vec &  V,
const vec &  A 
)
Here is the call graph for this function:

◆ update_trial_velocity()

void Node::update_trial_velocity ( const vec &  V)

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