Itasca C++ Interface
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
iselshell.h
Go to the documentation of this file.
1 #pragma once
2 // ISELShell.h
3 
9 #include "isel.h"
10 
11 namespace itasca {
12  class IThing;
13 }
14 
15 namespace sel {
16  using namespace itasca;
17 
19 
22  class ISELShell {
23  public:
24  enum MaterialPropertyType { kIsotropicPropertyType=1, kOrthotropicPropertyType, kAnisotropicPropertyType };
26  inline static const TType type_ = 0x4c815a04;
27  virtual TType getType() const { return type_; }
29  virtual const IThing * getIThing() const=0;
31  virtual IThing * getIThing()=0;
33  virtual const ISEL * getISEL() const=0;
35  virtual ISEL * getISEL()=0;
37  virtual double getArea()const=0;
39  virtual QString getElementType() const=0;
42  virtual double getIsotropic(int propNo) const=0;
45  virtual void setIsotropic(const double &v, int propNo) =0;
48  virtual MaterialPropertyType getMaterialPropertyType() const=0;
52  virtual double getOrthotropic(int p, int t) const=0;
54  virtual double getPressure() const=0;
56  virtual double getThickness() const=0;
58  virtual double getVolume() const =0;
60  virtual Axes3D getMaterialSys() const=0;
62  virtual double getBeta() const=0;
66  virtual double getAnisotropic(int p, int t) const=0;
68  virtual void setPressure(const double &p)=0;
70  virtual void setThickness(const double &t)=0;
72  virtual double getDepthFactor(uint index) const=0;
75  virtual DVect3 getPrinStress(uint index,quint32 locCode) const=0;
79  virtual double getStressResultant2(uint index,quint32 locCode, quint32 component) const =0;
81  virtual bool isMarked(uint index) const=0;
83  virtual bool isStressResultantValid(uint index) const=0;
85  virtual bool isStressValid(uint index) const=0;
89  virtual SymTensor getStress(uint index,quint32 locCode) const=0;
93  virtual void getElementStresses(DVect3 *memb,DVect3 *bend) const=0;
98  //virtual int getRYield(int,int) const = 0;
99  // Gets the minimum or maximum stress for an elastic element by taking the 2D principal
100  // stresses at the shell surfaces. Returns zero for a plastic element
101  virtual double getElasticStressBounds(const bool minimum) const = 0;
102  virtual double getElasticStressMax() const = 0;
103  virtual double getElasticStressMin() const = 0;
104 
112  virtual double getCouplingStress(const ISELNode* node, bool norm, uint32 side) const = 0;
113  };
114 } // namespace sel
115 // EoF
116 
Interface to the structural elements base class.
Definition: imodulesel.h:5
Interface to the structural elements base class.
Definition: isel.h:22
namespace Itasca
Definition: basememory.cpp:9
Base class for items that will be stored in containers.
Definition: ithing.h:31
Interface to shell structural elements.
Definition: iselshell.h:22
Class for specifying a particular 3D cartesian axes system, and converting to and from it.
Definition: axes.h:120
unsigned int TType
class type indicator
Definition: basedef.h:41
A symmetric 2nd order tensor.
Definition: symtensor.h:19
Interface to provide access to structural element nodes.
Definition: iselnode.h:39
Interface to the structural elements base class.