Class for creating an uniaxial concrete material compatible with fiber section.
More...
#include <Concrete1DFiber.hpp>
|
| Concrete1DFiber (double fc, double ecc, double fcu, double ecu, double ratio, double ft=0.0, double Et=0.0, double nu=0.25, double rho=0.0) |
| Creates a Concrete1DFiber material to be specified at a Gauss-point in an Element. More...
|
|
| ~Concrete1DFiber () |
| Destroys this Concrete1DFiber material. More...
|
|
std::unique_ptr< Material > | CopyMaterial () |
|
double | GetDensity () const |
| Access material density. More...
|
|
double | GetPoissonRatio () const |
| Returns the Poisson's ratio. More...
|
|
double | GetBulkModulus () const |
| Access bulk modulus. More...
|
|
double | GetShearModulus () const |
| Returns linear shear modulus. More...
|
|
double | GetElasticityModulus () const |
| Access modulus of elasticity. More...
|
|
double | GetEnergy () const |
| Access the material's energy at current strain. More...
|
|
Eigen::MatrixXd | GetDamping () const |
| Returns the material viscous damping. More...
|
|
Eigen::VectorXd | GetStrain () const |
| Returns the material strain. More...
|
|
Eigen::VectorXd | GetStress () const |
| Returns the material stress. More...
|
|
Eigen::VectorXd | GetStrainRate () const |
| Returns the material strain rate. More...
|
|
Eigen::VectorXd | GetTotalStress () const |
| Computes the material total stress. More...
|
|
Eigen::MatrixXd | GetTangentStiffness () const |
| Returns the material stiffness. More...
|
|
Eigen::MatrixXd | GetInitialTangentStiffness () const |
| Returns the initial material stiffness. More...
|
|
void | CommitState () |
| Perform converged material state update. More...
|
|
void | ReverseState () |
| Reverse the material states to previous converged state. More...
|
|
void | InitialState () |
| Brings the material states to its initial state in the element. More...
|
|
void | UpdateState (const Eigen::VectorXd strain, const unsigned int cond=0) |
| Update the material state for this iteration. More...
|
|
| Material (std::string name, bool model) |
| Creates a Material to be specified at a Gauss-point in an Element. More...
|
|
virtual | ~Material ()=0 |
| Destroys this Material object. More...
|
|
std::string | GetName () |
| Gets material information. More...
|
|
bool | IsViscous () |
| Gets material stress model. More...
|
|
Class for creating an uniaxial concrete material compatible with fiber section.
- See also
- Material.hpp
◆ Concrete1DFiber()
Concrete1DFiber::Concrete1DFiber |
( |
double |
fc, |
|
|
double |
ecc, |
|
|
double |
fcu, |
|
|
double |
ecu, |
|
|
double |
ratio, |
|
|
double |
ft = 0.0 , |
|
|
double |
Et = 0.0 , |
|
|
double |
nu = 0.25 , |
|
|
double |
rho = 0.0 |
|
) |
| |
Creates a Concrete1DFiber material to be specified at a Gauss-point in an Element.
- Parameters
-
fc | The concrete compressive strength at 28 days. |
ecc | The concrete strain at maximum strength. |
fcu | The concrete crushing strength. |
ecu | The concrete strain at crushing strength. |
ratio | Ratio between unloading slope at and initial slope. |
ft | The concrete tensile strength. |
Et | The tension softening stiffness (absolute value). |
nu | Represents the Poisson's ratio. |
Rho | Represents the material density. |
- See also
- Concrete1DFiber::E, Concrete1DFiber::nu, Concrete1DFiber::Rho.
◆ ~Concrete1DFiber()
Concrete1DFiber::~Concrete1DFiber |
( |
| ) |
|
◆ CommitState()
void Concrete1DFiber::CommitState |
( |
| ) |
|
|
virtual |
Perform converged material state update.
- Note
- This function sets the trail stress and strain as converged.
Implements Material.
◆ Compressive_Envelope()
void Concrete1DFiber::Compressive_Envelope |
( |
double |
eccn, |
|
|
double & |
fccn, |
|
|
double & |
Ecn |
|
) |
| |
|
private |
◆ CopyMaterial()
std::unique_ptr<Material> Concrete1DFiber::CopyMaterial |
( |
| ) |
|
|
virtual |
◆ GetBulkModulus()
double Concrete1DFiber::GetBulkModulus |
( |
| ) |
const |
|
virtual |
Access bulk modulus.
- Returns
- The material bulk's (K) modulus.
Implements Material.
◆ GetDamping()
Eigen::MatrixXd Concrete1DFiber::GetDamping |
( |
| ) |
const |
|
virtual |
Returns the material viscous damping.
- Returns
- Vector with the material damping components.
Implements Material.
◆ GetDensity()
double Concrete1DFiber::GetDensity |
( |
| ) |
const |
|
virtual |
◆ GetElasticityModulus()
double Concrete1DFiber::GetElasticityModulus |
( |
| ) |
const |
|
virtual |
◆ GetEnergy()
double Concrete1DFiber::GetEnergy |
( |
| ) |
const |
|
virtual |
Access the material's energy at current strain.
- Returns
- Scalar with the material energy value.
Implements Material.
◆ GetInitialTangentStiffness()
Eigen::MatrixXd Concrete1DFiber::GetInitialTangentStiffness |
( |
| ) |
const |
|
virtual |
Returns the initial material stiffness.
- Returns
- Matrix with the initial material tangent stiffness matrix.
- Note
- The initial tangent stiffness matrix is computed when the strain vector is zero.
Implements Material.
◆ GetPoissonRatio()
double Concrete1DFiber::GetPoissonRatio |
( |
| ) |
const |
|
virtual |
◆ GetShearModulus()
double Concrete1DFiber::GetShearModulus |
( |
| ) |
const |
|
virtual |
Returns linear shear modulus.
- Returns
- The material density value.
Implements Material.
◆ GetStrain()
Eigen::VectorXd Concrete1DFiber::GetStrain |
( |
| ) |
const |
|
virtual |
Returns the material strain.
- Returns
- Vector with the material strain components.
- Note
- The strain can be revisited in Concrete1DFiber.
- See also
- Concrete1DFiber::Strain.
Implements Material.
◆ GetStrainRate()
Eigen::VectorXd Concrete1DFiber::GetStrainRate |
( |
| ) |
const |
|
virtual |
Returns the material strain rate.
- Returns
- Vector with the material strain-rate components.
- Note
- The stress-rate can be revisited in Concrete1DFiber.
Implements Material.
◆ GetStress()
Eigen::VectorXd Concrete1DFiber::GetStress |
( |
| ) |
const |
|
virtual |
Returns the material stress.
- Returns
- Vector with the material stress components.
- Note
- The stress can be revisited in Concrete1DFiber.
- See also
- Concrete1DFiber::Stress.
Implements Material.
◆ GetTangentStiffness()
Eigen::MatrixXd Concrete1DFiber::GetTangentStiffness |
( |
| ) |
const |
|
virtual |
Returns the material stiffness.
- Returns
- Matrix with the material tangent stiffness matrix.
- Note
- The stiffness matrix can be revisited in Concrete1DFiber.
- See also
- Concrete1DFiber::TangentStiffness.
Implements Material.
◆ GetTotalStress()
Eigen::VectorXd Concrete1DFiber::GetTotalStress |
( |
| ) |
const |
|
virtual |
Computes the material total stress.
- Returns
- Vector with the material total stress components.
- Note
- The damping can be revisited in Concrete1DFiber.
- See also
- Concrete1DFiber::Stress.
Implements Material.
◆ InitialState()
void Concrete1DFiber::InitialState |
( |
| ) |
|
|
virtual |
Brings the material states to its initial state in the element.
- Note
- This function returns the material states to the beginning.
Implements Material.
◆ ReverseState()
void Concrete1DFiber::ReverseState |
( |
| ) |
|
|
virtual |
Reverse the material states to previous converged state.
- Note
- This function returns the material states to previous converged states.
Implements Material.
◆ Tensile_Envelope()
void Concrete1DFiber::Tensile_Envelope |
( |
double |
eccn, |
|
|
double & |
fccn, |
|
|
double & |
Etn |
|
) |
| |
|
private |
◆ UpdateState()
void Concrete1DFiber::UpdateState |
( |
const Eigen::VectorXd |
strain, |
|
|
const unsigned int |
cond = 0 |
|
) |
| |
|
virtual |
Update the material state for this iteration.
- Parameters
-
strain | Vector with the strain components at this Gauss-point. |
cond | If the the elastic/plastic material components will be updated. |
- Note
- This function computes the strain and tanget stiffness matrix once the trial strain converged.
Implements Material.
◆ ecc
double Concrete1DFiber::ecc |
|
private |
◆ ecu
double Concrete1DFiber::ecu |
|
private |
◆ Et
double Concrete1DFiber::Et |
|
private |
◆ fc
double Concrete1DFiber::fc |
|
private |
◆ fcu
double Concrete1DFiber::fcu |
|
private |
◆ ft
double Concrete1DFiber::ft |
|
private |
◆ lambda
double Concrete1DFiber::lambda |
|
private |
◆ newMaxStrain
double Concrete1DFiber::newMaxStrain |
|
private |
◆ newMinStrain
double Concrete1DFiber::newMinStrain |
|
private |
◆ newStrain
double Concrete1DFiber::newStrain |
|
private |
◆ newStress
double Concrete1DFiber::newStress |
|
private |
◆ newTangentStiffness
double Concrete1DFiber::newTangentStiffness |
|
private |
◆ nu
double Concrete1DFiber::nu |
|
private |
◆ oldMaxStrain
double Concrete1DFiber::oldMaxStrain |
|
private |
◆ oldMinStrain
double Concrete1DFiber::oldMinStrain |
|
private |
◆ oldStrain
double Concrete1DFiber::oldStrain |
|
private |
◆ oldStress
double Concrete1DFiber::oldStress |
|
private |
◆ oldTangentStiffness
double Concrete1DFiber::oldTangentStiffness |
|
private |
◆ Rho
double Concrete1DFiber::Rho |
|
private |