|
suanPan
🧮 An Open Source, Parallel and Heterogeneous Finite Element Analysis Framework
|
A FixedLength class. More...
#include <FixedLength.h>
Public Member Functions | |
| FixedLength (const unsigned T, uvec &&N) | |
| int | initialize (const shared_ptr< DomainBase > &D) override |
| int | process (const shared_ptr< DomainBase > &D) override |
| Process and update both stiffness and resistance. | |
| bool | is_connected () const override |
| Indicate if this modifier can be deemed as an element that needs to account for connectivity. | |
| void | update_status (const vec &incre_lambda) override |
| void | commit_status () override |
| void | clear_status () override |
| void | reset_status () override |
Public Member Functions inherited from Constraint | |
| 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 | 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 |
| bool | validate_step (const shared_ptr< DomainBase > &) const |
| Validate itself against the current active step to see if itself needs to be applied. | |
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 () |
Protected Attributes | |
| bool | min_bound = false |
| bool | max_bound = false |
| double | min_gap = 0. |
| double | max_gap = 0. |
Protected Attributes inherited from Constraint | |
| 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::DOF > | dof_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 |
A FixedLength class.
The FixedLength constraint applies constraint to two nodes so that the distance remain constant between those two nodes.
|
inline |
|
inlineoverridevirtual |
Reimplemented from ConditionalModifier.
Reimplemented in MaxForce< DIM >.
|
inlineoverridevirtual |
Reimplemented from ConditionalModifier.
Reimplemented in MaxForce< DIM >.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Indicate if this modifier can be deemed as an element that needs to account for connectivity.
Some constraints may modify global stiffness matrix so that it needs to be treated as an element which may affect bandwidth of banded storage. By calling this method, the RCM reordering algorithm will take this constraint into consideration. Make sure it is properly overridden in the derived classes.
Reimplemented from ConditionalModifier.
|
inlineoverridevirtual |
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.
Reimplemented in MaxForce< DIM >.
|
inlineoverridevirtual |
Reimplemented from ConditionalModifier.
Reimplemented in MaxForce< DIM >.
|
inlineoverridevirtual |
Reimplemented from ConditionalModifier.
|
protected |
|
protected |
|
protected |
|
protected |