81 enum class DOF : std::uint8_t {
106 std::mutex node_mutex;
108 std::vector<DOF> dof_identifier;
111 Node(
unsigned, vec&&);
113 void initialize(
const shared_ptr<DomainBase>&);
117 void ensure_dof(
unsigned,
const std::vector<DOF>&);
118 [[nodiscard]]
bool validate_dof(
const std::vector<DOF>&)
const;
119 [[nodiscard]] std::vector<uword>
get_dof(
const std::vector<DOF>&)
const;
223 void print()
override;
227#if defined(__GNUC__) && (__GNUC__ < 12)
232 std::vector<Node::DOF>
237#if defined(__GNUC__) && (__GNUC__ < 12)
242 std::vector<Node::DOF>
OutputType
Definition OutputType.h:23
The DomainBase class is a template.
Definition DomainBase.h:94
The Node class holds the number of DoFs, coordinate, displacement, velocity and acceleration.
Definition Node.h:79
const vec & update_trial_velocity(vec &&)
Definition Node.cpp:309
const vec & get_incre_damping_force() const
Definition Node.cpp:121
const vec & update_trial_nonviscous_force(vec &&)
Definition Node.cpp:291
vec trial_position(unsigned) const
Definition Node.cpp:193
const vec & update_trial_resistance(vec &&)
Definition Node.cpp:279
const vec & update_trial_inertial_force(vec &&)
Definition Node.cpp:297
const vec & get_coordinate() const
Definition Node.cpp:103
const uvec & get_original_dof() const
Definition Node.cpp:97
const vec & get_trial_acceleration() const
Definition Node.cpp:145
const vec & get_trial_resistance() const
Definition Node.cpp:133
const vec & get_incre_resistance() const
Definition Node.cpp:119
const vec & get_trial_damping_force() const
Definition Node.cpp:135
const vec & update_trial_damping_force(vec &&)
Definition Node.cpp:285
const vec & get_current_nonviscous_force() const
Definition Node.cpp:109
const vec & get_trial_nonviscous_force() const
Definition Node.cpp:137
const vec & update_current_displacement(vec &&)
Definition Node.cpp:219
void print() override
Definition Node.cpp:472
const vec & update_current_damping_force(vec &&)
Definition Node.cpp:201
const vec & get_incre_inertial_force() const
Definition Node.cpp:125
void update_trial_status(const vec &)
Definition Node.cpp:345
const vec & update_trial_acceleration(vec &&)
Definition Node.cpp:315
void update_current_status(const vec &)
Definition Node.cpp:321
const vec & update_incre_damping_force(vec &&)
Definition Node.cpp:243
const vec & get_incre_nonviscous_force() const
Definition Node.cpp:123
vec initial_position(unsigned) const
Definition Node.cpp:189
void set_reordered_dof(const uvec &)
Definition Node.cpp:99
const vec & update_current_inertial_force(vec &&)
Definition Node.cpp:213
const vec & update_incre_nonviscous_force(vec &&)
Definition Node.cpp:249
const vec & update_current_velocity(vec &&)
Definition Node.cpp:225
const vec & update_incre_resistance(vec &&)
Definition Node.cpp:237
const uvec & get_reordered_dof() const
Definition Node.cpp:101
const vec & get_incre_velocity() const
Definition Node.cpp:129
void reset_status()
Definition Node.cpp:388
const vec & get_current_resistance() const
Definition Node.cpp:105
const vec & update_current_resistance(vec &&)
Definition Node.cpp:195
const vec & update_current_nonviscous_force(vec &&)
Definition Node.cpp:207
const vec & get_incre_displacement() const
Definition Node.cpp:127
const vec & get_trial_inertial_force() const
Definition Node.cpp:139
const vec & get_current_displacement() const
Definition Node.cpp:113
void deinitialize()
Definition Node.cpp:56
const vec & get_trial_displacement() const
Definition Node.cpp:141
void clear_status()
Definition Node.cpp:419
bool validate_dof(const std::vector< DOF > &) const
Definition Node.cpp:73
void commit_status()
Definition Node.cpp:357
const vec & update_incre_acceleration(vec &&)
Definition Node.cpp:273
std::vector< vec > record(OutputType) const
Definition Node.cpp:457
const vec & get_current_velocity() const
Definition Node.cpp:115
const vec & update_current_acceleration(vec &&)
Definition Node.cpp:231
const vec & get_current_acceleration() const
Definition Node.cpp:117
const vec & update_incre_displacement(vec &&)
Definition Node.cpp:261
const vec & get_current_damping_force() const
Definition Node.cpp:107
const vec & update_trial_displacement(vec &&)
Definition Node.cpp:303
const vec & get_trial_velocity() const
Definition Node.cpp:143
const vec & get_current_inertial_force() const
Definition Node.cpp:111
void ensure_dof(unsigned, const std::vector< DOF > &)
Definition Node.cpp:61
vec current_position(unsigned) const
Definition Node.cpp:191
std::vector< uword > get_dof(const std::vector< DOF > &) const
Definition Node.cpp:80
const vec & update_incre_inertial_force(vec &&)
Definition Node.cpp:255
void set_original_dof(unsigned &)
Definition Node.cpp:92
const vec & get_incre_acceleration() const
Definition Node.cpp:131
void initialize(const shared_ptr< DomainBase > &)
This method should be called after elements are set. Elements will set the minimum number of DoFs for...
Definition Node.cpp:31
const vec & update_incre_velocity(vec &&)
Definition Node.cpp:267
void update_incre_status(const vec &)
Definition Node.cpp:333
Label objects that cannot be copied.
Definition Tag.h:88
Definition SparseMatMAGMA.hpp:43
constexpr std::vector< Node::DOF > translational(const unsigned dimension)
Definition Node.h:233
constexpr std::vector< Node::DOF > mechanical(const unsigned dimension)
Definition Node.h:243
unsigned num_dof
Definition Node.h:47
vec incre_displacement
Definition Node.h:66
vec trial_damping_force
Definition Node.h:71
vec incre_resistance
Definition Node.h:62
vec trial_nonviscous_force
Definition Node.h:72
vec current_resistance
Definition Node.h:54
vec incre_inertial_force
Definition Node.h:65
vec current_damping_force
Definition Node.h:55
vec current_displacement
Definition Node.h:58
vec trial_acceleration
Definition Node.h:76
vec current_velocity
Definition Node.h:59
vec current_acceleration
Definition Node.h:60
vec trial_inertial_force
Definition Node.h:73
vec trial_displacement
Definition Node.h:74
vec trial_velocity
Definition Node.h:75
vec current_inertial_force
Definition Node.h:57
uvec original_dof
Definition Node.h:51
vec incre_nonviscous_force
Definition Node.h:64
vec incre_velocity
Definition Node.h:67
vec coordinate
Definition Node.h:49
vec incre_damping_force
Definition Node.h:63
uvec reordered_dof
Definition Node.h:52
vec current_nonviscous_force
Definition Node.h:56
vec incre_acceleration
Definition Node.h:68
vec trial_resistance
Definition Node.h:70