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
40class VTKBONE_EXPORT vtkboneStressStrainMatrix : public vtkObject
41{
42public:
45 void PrintSelf(ostream& os, vtkIndent indent) override;
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);
71
73
75 void SetUpperTriangularPacked (const double* UT);
76 void SetUpperTriangularPacked (const float* UT);
79
81
82 void GetStressStrainMatrix (double* D);
83 void GetStressStrainMatrix (float* D);
86
88
90 void GetUpperTriangularPacked (double* UT);
91 void GetUpperTriangularPacked (float* UT);
94
95protected:
96
99
100 //BTX
101 double StressStrainMatrix[6][6];
102 //ETX
103
104private:
105 vtkboneStressStrainMatrix(const vtkboneStressStrainMatrix&); // Not implemented.
106 void operator=(const vtkboneStressStrainMatrix&); // Not implemented.
107};
108
109#endif
void operator=(const vtkObjectBase &)
Some calculation functions for stress-strain matrices.
void SetIsotropic(double E, double nu)
static vtkboneStressStrainMatrix * New()
void GetUpperTriangularPacked(float *UT)
void SetOrthotropic(const double E[3], const double nu[3], const double G[3])
void SetUpperTriangularPacked(vtkDataArray *UT)
void SetUpperTriangularPacked(const float *UT)
void GetUpperTriangularPacked(vtkDataArray *UT)
void PrintSelf(ostream &os, vtkIndent indent) override
void GetStressStrainMatrix(float *D)
void GetUpperTriangularPacked(double *UT)
void GetStressStrainMatrix(vtkDataArray *D)
void SetStressStrainMatrix(const float *D)
void SetStressStrainMatrix(vtkDataArray *D)
void SetOrthotropic(const float E[3], const float nu[3], const float G[3])
void SetOrthotropic(double Exx, double Eyy, double Ezz, double nuyz, double nuzx, double nuxy, double Gyz, double Gzx, double Gxy)
void GetStressStrainMatrix(double *D)
void SetStressStrainMatrix(const double *D)
void SetUpperTriangularPacked(const double *UT)