|
suanPan
🧮 An Open Source, Parallel and Heterogeneous Finite Element Analysis Framework
|
A NodalForce class. More...
#include <NodalForce.h>
Public Member Functions | |
| NodalForce (unsigned, double, uvec &&, std::vector< Node::DOF > &&, unsigned) | |
| 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) | |
| virtual bool | if_displacement_control () const |
| 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 uvec & | get_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 | |
| UniqueTag & | operator= (const UniqueTag &)=delete |
| UniqueTag & | operator= (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 | |
| Tag & | operator= (const Tag &)=delete |
| Tag & | operator= (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::DOF > | dof_order |
| uvec | target_node |
| uvec | target_element |
| uvec | target_dof |
A NodalForce class.
The NodalForce class is in charge of handling concentrated load.
| NodalForce::NodalForce | ( | unsigned | T, |
| double | L, | ||
| uvec && | N, | ||
| std::vector< Node::DOF > && | D, | ||
| unsigned | AT | ||
| ) |
|
overridevirtual |
Reimplemented from ConditionalModifier.
|
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.