vtkbone
vtkboneStressStrainMatrix.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Copyright 2010-2016, Numerics88 Solutions Ltd.
4  http://www.numerics88.com/
5 
6  Copyright (c) Eric Nodwell and Steven K. Boyd
7  See Copyright.txt for details.
8 
9  This software is distributed WITHOUT ANY WARRANTY; without even
10  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  PURPOSE. See the above copyright notice for more information.
12 =========================================================================*/
13 
33 #ifndef __vtkboneStressStrainMatrix_h
34 #define __vtkboneStressStrainMatrix_h
35 
36 #include "vtkObject.h"
37 #include "vtkDataArray.h"
38 #include "vtkboneWin32Header.h"
39 
41 {
42 public:
45  void PrintSelf(ostream& os, vtkIndent indent);
46 
48  void SetIsotropic(double E, double nu);
49 
51 
52  void SetOrthotropic(double Exx,
53  double Eyy,
54  double Ezz,
55  double nuyz,
56  double nuzx,
57  double nuxy,
58  double Gyz,
59  double Gzx,
60  double Gxy);
61  void SetOrthotropic(const double E[3], const double nu[3], const double G[3]);
62  void SetOrthotropic(const float E[3], const float nu[3], const float G[3]);
64 
66 
67  void SetStressStrainMatrix (const double* D);
68  void SetStressStrainMatrix (const float* D);
69  void SetStressStrainMatrix (vtkDataArray* D);
71 
73 
75  void SetUpperTriangularPacked (const double* UT);
76  void SetUpperTriangularPacked (const float* UT);
77  void SetUpperTriangularPacked (vtkDataArray* UT);
79 
81 
82  void GetStressStrainMatrix (double* D);
83  void GetStressStrainMatrix (float* D);
84  void GetStressStrainMatrix (vtkDataArray* D);
86 
88 
90  void GetUpperTriangularPacked (double* UT);
91  void GetUpperTriangularPacked (float* UT);
92  void GetUpperTriangularPacked (vtkDataArray* UT);
94 
95 protected:
96 
99 
100  //BTX
101  double StressStrainMatrix[6][6];
102  //ETX
103 
104 private:
105  vtkboneStressStrainMatrix(const vtkboneStressStrainMatrix&); // Not implemented.
106  void operator=(const vtkboneStressStrainMatrix&); // Not implemented.
107 };
108 
109 #endif
#define VTKBONE_EXPORT
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
Some calculation functions for stress-strain matrices.
static vtkObject * New()
void operator=(const vtkObjectBase &)