XC Open source finite element analysis program
NDMaterialPhysicalProperties.h
1 //----------------------------------------------------------------------------
2 // XC program; finite element analysis code
3 // for structural analysis and design.
4 //
5 // Copyright (C) Luis Claudio Pérez Tato
6 //
7 // This program derives from OpenSees <http://opensees.berkeley.edu>
8 // developed by the «Pacific earthquake engineering research center».
9 //
10 // Except for the restrictions that may arise from the copyright
11 // of the original program (see copyright_opensees.txt)
12 // XC is free software: you can redistribute it and/or modify
13 // it under the terms of the GNU General Public License as published by
14 // the Free Software Foundation, either version 3 of the License, or
15 // (at your option) any later version.
16 //
17 // This software is distributed in the hope that it will be useful, but
18 // WITHOUT ANY WARRANTY; without even the implied warranty of
19 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 // GNU General Public License for more details.
21 //
22 //
23 // You should have received a copy of the GNU General Public License
24 // along with this program.
25 // If not, see <http://www.gnu.org/licenses/>.
26 //----------------------------------------------------------------------------
27 //NDMaterialPhysicalProperties.h
28 
29 #include "PhysicalProperties.h"
30 #include "material/nD/NDMaterial.h"
31 
32 #ifndef NDMaterialPhysicalProperties_h
33 #define NDMaterialPhysicalProperties_h
34 
35 namespace XC {
37 //
40  {
41  protected:
42  virtual bool check_material_type(const std::string &type) const;
43  public:
44  static bool check_material_elast_plana(const std::string &type);
45 
46  NDMaterialPhysicalProperties(const size_t &nMat= 0, const NDMaterial *ptr_mat= nullptr);
47  NDMaterialPhysicalProperties(const size_t &, NDMaterial &theMaterial, const std::string &type);
48 
49  inline const Vector &getCommittedStrain(const size_t &i) const
50  { return theMaterial[i]->getCommittedStrain(); }
51  inline const Vector &getCommittedStress(const size_t &i) const
52  { return theMaterial[i]->getCommittedStress(); }
53  Vector getCommittedAvgStrain(void) const;
54  Vector getCommittedAvgStress(void) const;
55  double getCommittedAvgStrain(const size_t &iComp) const;
56  double getCommittedAvgStress(const size_t &iComp) const;
57 
58  Matrix getCommittedStrain(void) const;
59  Matrix getCommittedStress(void) const;
60 
61  bool haveRho(void) const;
62  Vector getRhoi(const double &rhoDefault= 0.0) const;
63  };
64 
65 } // end of XC namespace
66 #endif
Base class for 2D and 3D materials.
Definition: NDMaterial.h:91
Definition: Vector.h:82
virtual const Vector & getCommittedStress(void)
Returns commited stresses.
Definition: NDMaterial.cpp:104
Matrix getCommittedStrain(void) const
returns commited strains at each Gauss point.
Definition: NDMaterialPhysicalProperties.cc:64
Matrix getCommittedStress(void) const
returns commited stresses at each Gauss point.
Definition: NDMaterialPhysicalProperties.cc:79
Physical properties for solid mechanics.
Definition: NDMaterialPhysicalProperties.h:39
Definition: Matrix.h:82
Vector getCommittedAvgStrain(void) const
Return the tensión media in the element.
Definition: NDMaterialPhysicalProperties.cc:106
Base class for element&#39;s physical properties.
Definition: PhysicalProperties.h:45
virtual const Vector & getCommittedStrain(void)
Returns commited strains.
Definition: NDMaterial.cpp:108
Vector getRhoi(const double &rhoDefault=0.0) const
Returns densities for each position.
Definition: NDMaterialPhysicalProperties.cc:155
material_vector theMaterial
pointers to the material objects
Definition: PhysicalProperties.h:50
virtual bool check_material_type(const std::string &type) const
Comprueba el tipo de material, DEBE redefinirse en las clases derivadas.
Definition: NDMaterialPhysicalProperties.cc:45
Vector getCommittedAvgStress(void) const
Return the tensión media in the element.
Definition: NDMaterialPhysicalProperties.cc:95
================================================================================
Definition: ContinuaReprComponent.h:34
NDMaterialPhysicalProperties(const size_t &nMat=0, const NDMaterial *ptr_mat=nullptr)
Constructor.
Definition: NDMaterialPhysicalProperties.cc:33