MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
symcltp.h
Go to the documentation of this file.
1 /* $Header: /var/cvs/mbdyn/mbdyn/mbdyn-1.0/mbdyn/base/symcltp.h,v 1.26 2017/01/12 14:46:10 masarati Exp $ */
2 /*
3  * MBDyn (C) is a multibody analysis code.
4  * http://www.mbdyn.org
5  *
6  * Copyright (C) 1996-2017
7  *
8  * Pierangelo Masarati <masarati@aero.polimi.it>
9  * Paolo Mantegazza <mantegazza@aero.polimi.it>
10  *
11  * Dipartimento di Ingegneria Aerospaziale - Politecnico di Milano
12  * via La Masa, 34 - 20156 Milano, Italy
13  * http://www.aero.polimi.it
14  *
15  * Changing this copyright notice is forbidden.
16  *
17  * This program is free software; you can redistribute it and/or modify
18  * it under the terms of the GNU General Public License as published by
19  * the Free Software Foundation (version 2 of the License).
20  *
21  *
22  * This program is distributed in the hope that it will be useful,
23  * but WITHOUT ANY WARRANTY; without even the implied warranty of
24  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25  * GNU General Public License for more details.
26  *
27  * You should have received a copy of the GNU General Public License
28  * along with this program; if not, write to the Free Software
29  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
30  */
31 
32 /* Symbolic constitutive law */
33 
34 
35 #ifndef SYMCLTP_H
36 #define SYMCLTP_H
37 
38 #include "constltp.h"
39 
40 /* SymbolicElasticConstitutiveLaw - begin */
41 
42 template <class T, class Tder>
44 : public ElasticConstitutiveLaw<T, Tder> {
45 public:
47  const TplDriveCaller<T>* pDC,
48  const T& PStress,
49  std::vector<std::string>& epsilon,
50  std::vector<std::string>& expression);
51  virtual ~SymbolicElasticConstitutiveLaw(void);
52 };
53 
60 
61 template <class T, class Tder>
63  const TplDriveCaller<T>* pDC,
64  const T& PStress,
65  std::vector<std::string>& epsilon,
66  std::vector<std::string>& expression)
67 : ElasticConstitutiveLaw<T, Tder>(pDC, PStress)
68 {
69  NO_OP;
70 }
71 
72 template <class T, class Tder>
74 {
75  NO_OP;
76 }
77 
78 /* SymbolicElasticConstitutiveLaw - end */
79 
80 /* SymbolicViscousConstitutiveLaw - begin */
81 
82 template <class T, class Tder>
84 : public ElasticConstitutiveLaw<T, Tder> {
85 public:
87  const T& PStress,
88  std::vector<std::string>& epsilonPrime,
89  std::vector<std::string>& expression);
90  virtual ~SymbolicViscousConstitutiveLaw(void);
91  virtual ConstLawType::Type GetConstLawType(void) const;
92 };
93 
100 
101 template <class T, class Tder>
103  const T& PStress,
104  std::vector<std::string>& epsilonPrime,
105  std::vector<std::string>& expression)
106 : ElasticConstitutiveLaw<T, Tder>(0, PStress)
107 {
108  NO_OP;
109 }
110 
111 template <class T, class Tder>
113 {
114  NO_OP;
115 }
116 
117 template <class T, class Tder>
120 {
121  return ConstLawType::VISCOUS;
122 }
123 
124 /* SymbolicViscousConstitutiveLaw - end */
125 
126 /* SymbolicViscoElasticConstitutiveLaw - begin */
127 
128 template <class T, class Tder>
130 : public ElasticConstitutiveLaw<T, Tder> {
131 public:
133  const TplDriveCaller<T>* pDC,
134  const T& PStress,
135  std::vector<std::string>& epsilon,
136  std::vector<std::string>& epsilonPrime,
137  std::vector<std::string>& expression);
139  virtual ConstLawType::Type GetConstLawType(void) const;
140 };
141 
148 
149 template <class T, class Tder>
151  const TplDriveCaller<T>* pDC,
152  const T& PStress,
153  std::vector<std::string>& epsilon,
154  std::vector<std::string>& epsilonPrime,
155  std::vector<std::string>& expression)
156 : ElasticConstitutiveLaw<T, Tder>(pDC, PStress)
157 {
158  NO_OP;
159 }
160 
161 template <class T, class Tder>
163 {
164  NO_OP;
165 }
166 
167 template <class T, class Tder>
170 {
172 }
173 
174 /* SymbolicViscoElasticConstitutiveLaw - end */
175 
176 #endif /* SYMCLTP_H */
177 
SymbolicViscousConstitutiveLaw< doublereal, doublereal > SymbolicViscousConstitutiveLaw1D
Definition: symcltp.h:95
virtual ~SymbolicViscoElasticConstitutiveLaw(void)
Definition: symcltp.h:162
SymbolicElasticConstitutiveLaw< Vec6, Mat6x6 > SymbolicElasticConstitutiveLaw6D
Definition: symcltp.h:59
SymbolicViscousConstitutiveLaw(const T &PStress, std::vector< std::string > &epsilonPrime, std::vector< std::string > &expression)
Definition: symcltp.h:102
virtual ~SymbolicElasticConstitutiveLaw(void)
Definition: symcltp.h:73
#define NO_OP
Definition: myassert.h:74
SymbolicElasticConstitutiveLaw(const TplDriveCaller< T > *pDC, const T &PStress, std::vector< std::string > &epsilon, std::vector< std::string > &expression)
Definition: symcltp.h:62
virtual ConstLawType::Type GetConstLawType(void) const
Definition: symcltp.h:119
SymbolicViscoElasticConstitutiveLaw< Vec6, Mat6x6 > SymbolicViscoElasticConstitutiveLaw6D
Definition: symcltp.h:147
SymbolicElasticConstitutiveLaw< Vec3, Mat3x3 > SymbolicElasticConstitutiveLaw3D
Definition: symcltp.h:57
SymbolicViscoElasticConstitutiveLaw< Vec3, Mat3x3 > SymbolicViscoElasticConstitutiveLaw3D
Definition: symcltp.h:145
SymbolicViscousConstitutiveLaw< Vec3, Mat3x3 > SymbolicViscousConstitutiveLaw3D
Definition: symcltp.h:97
SymbolicElasticConstitutiveLaw< doublereal, doublereal > SymbolicElasticConstitutiveLaw1D
Definition: symcltp.h:55
virtual ~SymbolicViscousConstitutiveLaw(void)
Definition: symcltp.h:112
virtual ConstLawType::Type GetConstLawType(void) const
Definition: symcltp.h:169
SymbolicViscoElasticConstitutiveLaw< doublereal, doublereal > SymbolicViscoElasticConstitutiveLaw1D
Definition: symcltp.h:143
SymbolicViscousConstitutiveLaw< Vec6, Mat6x6 > SymbolicViscousConstitutiveLaw6D
Definition: symcltp.h:99
SymbolicViscoElasticConstitutiveLaw(const TplDriveCaller< T > *pDC, const T &PStress, std::vector< std::string > &epsilon, std::vector< std::string > &epsilonPrime, std::vector< std::string > &expression)
Definition: symcltp.h:150