45 enum class DOF : unsigned short;
78 bool initialized =
false;
80 std::mutex node_mutex;
82 std::vector<DOF> dof_identifier;
85 explicit Node(
unsigned = 0);
86 Node(
unsigned, vec&&);
87 Node(
unsigned,
unsigned);
88 Node(
unsigned,
unsigned, vec&&);
91 Node& operator=(
const Node&) =
delete;
95 void initialize(
const shared_ptr<DomainBase>&);
97 void set_initialized(
bool);
98 [[nodiscard]]
bool get_initialized()
const;
100 void set_dof_number(
unsigned);
101 [[nodiscard]]
unsigned get_dof_number()
const;
103 void set_dof_identifier(
const std::vector<DOF>&);
104 [[nodiscard]]
const std::vector<DOF>& get_dof_identifier()
const;
106 void set_original_dof(
unsigned&);
107 void set_original_dof(
const uvec&);
108 [[nodiscard]]
const uvec& get_original_dof()
const;
110 void set_reordered_dof(
const uvec&);
111 [[nodiscard]]
const uvec& get_reordered_dof()
const;
113 void set_coordinate(
const vec&);
116 void set_current_resistance(
const vec&);
117 void set_current_damping_force(
const vec&);
118 void set_current_inertial_force(
const vec&);
119 void set_current_displacement(
const vec&);
120 void set_current_velocity(
const vec&);
121 void set_current_acceleration(
const vec&);
123 void set_incre_resistance(
const vec&);
124 void set_incre_damping_force(
const vec&);
125 void set_incre_inertial_force(
const vec&);
126 void set_incre_displacement(
const vec&);
127 void set_incre_velocity(
const vec&);
128 void set_incre_acceleration(
const vec&);
130 void set_trial_resistance(
const vec&);
131 void set_trial_damping_force(
const vec&);
132 void set_trial_inertial_force(
const vec&);
133 void set_trial_displacement(
const vec&);
134 void set_trial_velocity(
const vec&);
135 void set_trial_acceleration(
const vec&);
158 void update_current_resistance(
const vec&);
159 void update_current_damping_force(
const vec&);
160 void update_current_inertial_force(
const vec&);
161 void update_current_displacement(
const vec&);
162 void update_current_velocity(
const vec&);
163 void update_current_acceleration(
const vec&);
165 void update_incre_resistance(
const vec&);
166 void update_incre_damping_force(
const vec&);
167 void update_incre_inertial_force(
const vec&);
168 void update_incre_displacement(
const vec&);
169 void update_incre_velocity(
const vec&);
170 void update_incre_acceleration(
const vec&);
172 void update_trial_resistance(
const vec&);
173 void update_trial_damping_force(
const vec&);
174 void update_trial_inertial_force(
const vec&);
175 void update_trial_displacement(
const vec&);
176 void update_trial_velocity(
const vec&);
177 void update_trial_acceleration(
const vec&);
179 void update_current_status(
const vec&);
180 void update_current_status(
const vec&,
const vec&);
181 void update_current_status(
const vec&,
const vec&,
const vec&);
183 void update_incre_status(
const vec&);
184 void update_incre_status(
const vec&,
const vec&);
185 void update_incre_status(
const vec&,
const vec&,
const vec&);
187 void update_trial_status(
const vec&);
188 void update_trial_status(
const vec&,
const vec&);
189 void update_trial_status(
const vec&,
const vec&,
const vec&);
191 void commit_status();
195 [[nodiscard]] std::vector<vec> record(
OutputType)
const;
197 void print()
override;
vec incre_displacement
Definition: Node.h:65
vec current_displacement
Definition: Node.h:58
Col< T > & get_incre_inertial_force(const shared_ptr< Factory< T >> &W)
Definition: FactoryHelper.hpp:135
vec current_velocity
Definition: Node.h:59
Col< T > & get_current_acceleration(const shared_ptr< Factory< T >> &W)
Definition: FactoryHelper.hpp:163
Col< T > & get_trial_damping_force(const shared_ptr< Factory< T >> &W)
Definition: FactoryHelper.hpp:111
The Node class holds the number of DoFs, coordinate, displacement, velocity and acceleration.
Definition: Node.h:77
The DomainBase class is a template.
Definition: DomainBase.h:90
Col< T > & get_trial_inertial_force(const shared_ptr< Factory< T >> &W)
Definition: FactoryHelper.hpp:113
Col< T > & get_trial_resistance(const shared_ptr< Factory< T >> &W)
Definition: FactoryHelper.hpp:109
vec incre_inertial_force
Definition: Node.h:64
vec current_damping_force
Definition: Node.h:56
vec trial_velocity
Definition: Node.h:73
vec incre_velocity
Definition: Node.h:66
OutputType
Definition: OutputType.h:21
Col< T > & get_incre_resistance(const shared_ptr< Factory< T >> &W)
Definition: FactoryHelper.hpp:131
Col< T > & get_current_displacement(const shared_ptr< Factory< T >> &W)
Definition: FactoryHelper.hpp:159
vec incre_acceleration
Definition: Node.h:67
Col< T > & get_trial_velocity(const shared_ptr< Factory< T >> &W)
Definition: FactoryHelper.hpp:117
Col< T > & get_incre_damping_force(const shared_ptr< Factory< T >> &W)
Definition: FactoryHelper.hpp:133
vec incre_resistance
Definition: Node.h:62
Col< T > & get_current_velocity(const shared_ptr< Factory< T >> &W)
Definition: FactoryHelper.hpp:161
Col< T > & get_current_damping_force(const shared_ptr< Factory< T >> &W)
Definition: FactoryHelper.hpp:155
vec trial_resistance
Definition: Node.h:69
mat get_coordinate(const ElementBase *const E, const unsigned N)
Definition: Element.cpp:602
Col< T > & get_incre_velocity(const shared_ptr< Factory< T >> &W)
Definition: FactoryHelper.hpp:139
vec current_acceleration
Definition: Node.h:60
A base Tag class.
Definition: Tag.h:38
Col< T > & get_current_inertial_force(const shared_ptr< Factory< T >> &W)
Definition: FactoryHelper.hpp:157
vec incre_damping_force
Definition: Node.h:63
Col< T > & get_incre_acceleration(const shared_ptr< Factory< T >> &W)
Definition: FactoryHelper.hpp:141
uvec reordered_dof
Definition: Node.h:53
Col< T > & get_trial_displacement(const shared_ptr< Factory< T >> &W)
Definition: FactoryHelper.hpp:115
vec coordinate
Definition: Node.h:50
vec trial_displacement
Definition: Node.h:72
Col< T > & get_current_resistance(const shared_ptr< Factory< T >> &W)
Definition: FactoryHelper.hpp:153
vec trial_damping_force
Definition: Node.h:70
Col< T > & get_trial_acceleration(const shared_ptr< Factory< T >> &W)
Definition: FactoryHelper.hpp:119
Col< T > & get_incre_displacement(const shared_ptr< Factory< T >> &W)
Definition: FactoryHelper.hpp:137
uvec original_dof
Definition: Node.h:52
vec trial_acceleration
Definition: Node.h:74
vec current_inertial_force
Definition: Node.h:57
vec current_resistance
Definition: Node.h:55
vec trial_inertial_force
Definition: Node.h:71