Description
Base class for all constitutive models of sections of Tapered Timoshenko beams.
This tapered section consists of two objects of ChBeamSectionTimoshenkoAdvancedGeneric. To be used with ChElementBeamTaperedTimoshenko.
#include <ChBeamSectionTaperedTimoshenko.h>
Public Member Functions | |
void | SetLength (double mv) |
Set the length of beam element with two sections. | |
double | GetLength () const |
Get the length of beam element with two sections. | |
void | SetLumpedMassMatrixType (bool mv) |
Set the type of mass matrix: More... | |
bool | GetLumpedMassMatrixType () const |
Get the type of mass matrix: More... | |
void | SetSectionA (std::shared_ptr< ChBeamSectionTimoshenkoAdvancedGeneric > my_material) |
Set the section & material of beam element at end A. | |
void | SetSectionB (std::shared_ptr< ChBeamSectionTimoshenkoAdvancedGeneric > my_material) |
Set the section & material of beam element at end B. | |
std::shared_ptr< ChBeamSectionTimoshenkoAdvancedGeneric > | GetSectionA () |
Get the section & material of the element at end A. | |
std::shared_ptr< ChBeamSectionTimoshenkoAdvancedGeneric > | GetSectionB () |
Get the section & material of the element at end B. | |
virtual void | ComputeInertiaMatrix (ChMatrixDynamic<> &M) |
Compute the 12x12 sectional inertia matrix, as in {x_momentum,w_momentum}=[Mm]{xvel,wvel} The matrix is computed in the material reference (i.e. More... | |
virtual void | ComputeInertiaDampingMatrix (ChMatrixNM< double, 12, 12 > &Ri, const ChVector<> &mW_A, const ChVector<> &mW_B) |
Compute the 12x12 local inertial-damping (gyroscopic damping) matrix. More... | |
virtual void | ComputeInertiaStiffnessMatrix (ChMatrixNM< double, 12, 12 > &Ki, const ChVector<> &mWvel_A, const ChVector<> &mWacc_A, const ChVector<> &mXacc_A, const ChVector<> &mWvel_B, const ChVector<> &mWacc_B, const ChVector<> &mXacc_B) |
Compute the 12x12 local inertial-stiffness matrix. More... | |
virtual DampingCoefficients | GetBeamRaleyghDamping () const |
Get the average damping parameters of this tapered cross-section. | |
virtual void | ComputeAverageSectionParameters () |
Compute the average section parameters: mass, inertia and rigidity, etc. | |
virtual std::shared_ptr< AverageSectionParameters > | GetAverageSectionParameters () const |
Get the average sectional parameters(mass, inertia and rigidity, etc.) of this tapered cross-section. | |
Public Attributes | |
bool | compute_inertia_damping_matrix = true |
Flag that turns on/off the computation of the [Ri] 'gyroscopic' inertial damping matrix. More... | |
bool | compute_inertia_stiffness_matrix = true |
Flag that turns on/off the computation of the [Ki] inertial stiffness matrix. More... | |
bool | compute_Ri_Ki_by_num_diff = false |
Flag for computing the Ri and Ki matrices via numerical differentiation even if an analytical expression is provided. More... | |
bool | compute_ave_sec_par = false |
A lock to avoid computing avg_sec_par several times, initialized as false by default. More... | |
Protected Member Functions | |
virtual void | ComputeLumpedInertiaMatrix (ChMatrixNM< double, 12, 12 > &M) |
Compute the 12x12 sectional inertia matrix in lumped format, as in {x_momentum,w_momentum}=[Mm]{xvel,wvel} The matrix is computed in the material reference (i.e. More... | |
virtual void | ComputeSimpleConsistentInertiaMatrix (ChMatrixNM< double, 12, 12 > &M) |
virtual void | ComputeConsistentInertiaMatrix (ChMatrixNM< double, 12, 12 > &M) |
A very generic implementation for consistent mass matrix, considering mass center offset and axis orientation. More... | |
Protected Attributes | |
double | length |
The length of beam element with two sections. | |
std::shared_ptr< ChBeamSectionTimoshenkoAdvancedGeneric > | sectionA |
The section & material of beam element at end A. | |
std::shared_ptr< ChBeamSectionTimoshenkoAdvancedGeneric > | sectionB |
The section & material of beam element at end B. | |
bool | use_lumped_mass_matrix |
The type of mass matrix: More... | |
std::shared_ptr< AverageSectionParameters > | avg_sec_par |
Member Function Documentation
◆ ComputeConsistentInertiaMatrix()
|
protectedvirtual |
A very generic implementation for consistent mass matrix, considering mass center offset and axis orientation.
The transformation of mass center offset and mass principal axis orientation is hard-coded.
- Parameters
-
M 12x12 sectional mass matrix values here
◆ ComputeInertiaDampingMatrix()
|
virtual |
Compute the 12x12 local inertial-damping (gyroscopic damping) matrix.
The lumped format is used, need to multiple 0.5 * length to obtain the final inertial-damping matrix
- Parameters
-
Ri 12x12 sectional inertial-damping matrix values here mW_A current angular velocity of section of node A, in material frame mW_B current angular velocity of section of node B, in material frame
◆ ComputeInertiaMatrix()
|
virtual |
Compute the 12x12 sectional inertia matrix, as in {x_momentum,w_momentum}=[Mm]{xvel,wvel} The matrix is computed in the material reference (i.e.
it is the sectional mass matrix)
- Parameters
-
M 12x12 sectional mass matrix values here
Reimplemented in chrono::fea::ChBeamSectionTaperedTimoshenkoAdvancedGenericFPM.
◆ ComputeInertiaStiffnessMatrix()
|
virtual |
Compute the 12x12 local inertial-stiffness matrix.
The lumped format is used, need to multiple 0.5 * length to obtain the final inertial-stiffness matrix
- Parameters
-
Ki 12x12 sectional inertial-stiffness matrix values here mWvel_A current angular velocity of section of node A, in material frame mWacc_A current angular acceleration of section of node A, in material frame mXacc_A current acceleration of section of node A, in material frame) mWvel_B current angular velocity of section of node B, in material frame mWacc_B current angular acceleration of section of node B, in material frame mXacc_B current acceleration of section of node B, in material frame
◆ ComputeLumpedInertiaMatrix()
|
protectedvirtual |
Compute the 12x12 sectional inertia matrix in lumped format, as in {x_momentum,w_momentum}=[Mm]{xvel,wvel} The matrix is computed in the material reference (i.e.
it is the sectional mass matrix)
- Parameters
-
M 12x12 sectional mass matrix values here
◆ ComputeSimpleConsistentInertiaMatrix()
|
protectedvirtual |
- Parameters
-
M 12x12 sectional mass matrix values here
◆ GetLumpedMassMatrixType()
|
inline |
Get the type of mass matrix:
- true: lumped mass matrix.
- false: consistent mass matrix.
◆ SetLumpedMassMatrixType()
|
inline |
Set the type of mass matrix:
- true: lumped mass matrix, which is default.
- false: consistent mass matrix.
Member Data Documentation
◆ compute_ave_sec_par
bool chrono::fea::ChBeamSectionTaperedTimoshenkoAdvancedGeneric::compute_ave_sec_par = false |
A lock to avoid computing avg_sec_par several times, initialized as false by default.
If one wants to recalculate the avg_sec_par again, set this variable to 'false' and run ComputeAverageSectionParameters() again.
◆ compute_inertia_damping_matrix
bool chrono::fea::ChBeamSectionTaperedTimoshenkoAdvancedGeneric::compute_inertia_damping_matrix = true |
Flag that turns on/off the computation of the [Ri] 'gyroscopic' inertial damping matrix.
If false, Ri=0. Can be used for cpu speedup, profiling, tests. Default: true.
◆ compute_inertia_stiffness_matrix
bool chrono::fea::ChBeamSectionTaperedTimoshenkoAdvancedGeneric::compute_inertia_stiffness_matrix = true |
Flag that turns on/off the computation of the [Ki] inertial stiffness matrix.
If false, Ki=0. Can be used for cpu speedup, profiling, tests. Default: true.
◆ compute_Ri_Ki_by_num_diff
bool chrono::fea::ChBeamSectionTaperedTimoshenkoAdvancedGeneric::compute_Ri_Ki_by_num_diff = false |
Flag for computing the Ri and Ki matrices via numerical differentiation even if an analytical expression is provided.
Children calsses must take care of this. Default: false.
◆ use_lumped_mass_matrix
|
protected |
The type of mass matrix:
- true: lumped mass matrix, which is default.
- false: consistent mass matrix.
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono/fea/ChBeamSectionTaperedTimoshenko.h
- /builds/uwsbel/chrono/src/chrono/fea/ChBeamSectionTaperedTimoshenko.cpp