OOFEM 3.0
Loading...
Searching...
No Matches
termlibrary3.h
Go to the documentation of this file.
1/*
2 *
3 * ##### ##### ###### ###### ### ###
4 * ## ## ## ## ## ## ## ### ##
5 * ## ## ## ## #### #### ## # ##
6 * ## ## ## ## ## ## ## ##
7 * ## ## ## ## ## ## ## ##
8 * ##### ##### ## ###### ## ##
9 *
10 *
11 * OOFEM : Object Oriented Finite Element Code
12 *
13 * Copyright (C) 1993 - 2025 Borek Patzak
14 *
15 *
16 *
17 * Czech Technical University, Faculty of Civil Engineering,
18 * Department of Structural Mechanics, 166 29 Prague, Czech Republic
19 *
20 * This library is free software; you can redistribute it and/or
21 * modify it under the terms of the GNU Lesser General Public
22 * License as published by the Free Software Foundation; either
23 * version 2.1 of the License, or (at your option) any later version.
24 *
25 * This program is distributed in the hope that it will be useful,
26 * but WITHOUT ANY WARRANTY; without even the implied warranty of
27 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
28 * Lesser General Public License for more details.
29 *
30 * You should have received a copy of the GNU Lesser General Public
31 * License along with this library; if not, write to the Free Software
32 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
33 */
34#ifndef termlibrary3_h
35#define termlibrary3_h
36
37#include "mpm.h"
38#include "boundaryload.h"
39#include "termlibrary.h"
40
41// file containing various term definitions
42
43namespace oofem {
44
49class TMBTSigTerm : public BTSigTerm {
50 protected:
52 public:
53 TMBTSigTerm (const Variable *testField, const Variable* unknownField, const Variable* temperatureField) ;
60 void evaluate (FloatArray&, MPElement& cell, GaussPoint* gp, TimeStep* tstep) const override;
61 void computeTMgeneralizedStrain (FloatArray& answer, FloatMatrix&B, MPElement& cell, const FloatArray& lcoords, MaterialMode mmode, TimeStep* tstep) const;
62};
63
67class BDalphaPiTerm : public Term {
68 protected:
69 ValueModeType m;
70 public:
71 BDalphaPiTerm (const Variable *testField, const Variable* unknownField, ValueModeType m) ;
72
80 void evaluate_lin (FloatMatrix& answer, MPElement& e, GaussPoint* gp, TimeStep* tstep) const override;
87 void evaluate (FloatArray&, MPElement& cell, GaussPoint* gp, TimeStep* tstep) const override;
88 void getDimensions(Element& cell) const override;
89 void initializeCell(Element& cell) const override;
90
91 protected:
92
93};
94
95class TMgNTfTerm : public gNTfTerm {
96 protected:
97 public:
98 TMgNTfTerm (const Variable *testField, const Variable* unknownField, MatResponseMode lhsType, MatResponseMode rhsType) ;
99
100
107 void evaluate (FloatArray&, MPElement& cell, GaussPoint* gp, TimeStep* tstep) const override;
108
109};
110
111
113class BTdSigmadT : public Term {
114 protected:
115 public:
116 BTdSigmadT (const Variable *testField, const Variable* unknownField) ;
117
125 void evaluate_lin (FloatMatrix& answer, MPElement& e, GaussPoint* gp, TimeStep* tstep) const override;
132 void evaluate (FloatArray&, MPElement& cell, GaussPoint* gp, TimeStep* tstep) const override;
133 void getDimensions(Element& cell) const override;
134 void initializeCell(Element& cell) const override;
135
136};
137
138
140class NTaTmTe : public Term {
141 protected:
145 public:
146 NTaTmTe (const Variable *testField, const Variable* unknownField, BoundaryLoad* bl, int boundaryID, char boundaryType) ;
147
155 void evaluate_lin (FloatMatrix& answer, MPElement& e, GaussPoint* gp, TimeStep* tstep) const override;
162 void evaluate (FloatArray&, MPElement& cell, GaussPoint* gp, TimeStep* tstep) const override;
163 void getDimensions(Element& cell) const override;
164 void initializeCell(Element& cell) const override;
165};
166
167
169 protected:
170 public:
171 InternalTMFluxSourceTerm (const Variable *testField, const Variable* unknownField, const Variable* temperatureField) ;
178 void evaluate (FloatArray&, MPElement& cell, GaussPoint* gp, TimeStep* tstep) const override;
179};
180
181
182
183} // end namespace oofem
184#endif // termlibrary_h
BDalphaPiTerm(const Variable *testField, const Variable *unknownField, ValueModeType m)
void initializeCell(Element &cell) const override
void getDimensions(Element &cell) const override
void evaluate(FloatArray &, MPElement &cell, GaussPoint *gp, TimeStep *tstep) const override
Empty, this should be evaluated by BTSigTerm term$.
void evaluate_lin(FloatMatrix &answer, MPElement &e, GaussPoint *gp, TimeStep *tstep) const override
Evaluates the linearization of $B^T\sigma(u)$, i.e. $B^TDBu$.
BTSigTerm(const Variable *testField, const Variable *unknownField)
void evaluate(FloatArray &, MPElement &cell, GaussPoint *gp, TimeStep *tstep) const override
Evaluates Internal forces vector, i.e. $b^T\sigma(u)$.
BTdSigmadT(const Variable *testField, const Variable *unknownField)
void getDimensions(Element &cell) const override
void evaluate_lin(FloatMatrix &answer, MPElement &e, GaussPoint *gp, TimeStep *tstep) const override
Evaluates the linearization of $B^T\sigma(u)$, i.e. $B^TDBu$.
void initializeCell(Element &cell) const override
InternalTMFluxSourceTerm(const Variable *testField, const Variable *unknownField, const Variable *temperatureField)
void evaluate(FloatArray &, MPElement &cell, GaussPoint *gp, TimeStep *tstep) const override
Evaluates Internal forces vector, i.e. $b^T\sigma(u)$.
Base class for elements based on mp (multi-physics) concept.
Definition mpm.h:282
NTaTmTe(const Variable *testField, const Variable *unknownField, BoundaryLoad *bl, int boundaryID, char boundaryType)
void getDimensions(Element &cell) const override
void evaluate_lin(FloatMatrix &answer, MPElement &e, GaussPoint *gp, TimeStep *tstep) const override
Evaluates the linearization of $B^T\sigma(u)$, i.e. $B^TDBu$.
BoundaryLoad * bl
void evaluate(FloatArray &, MPElement &cell, GaussPoint *gp, TimeStep *tstep) const override
Evaluates Internal forces vector, i.e. $b^T\sigma(u)$.
void initializeCell(Element &cell) const override
void evaluate(FloatArray &, MPElement &cell, GaussPoint *gp, TimeStep *tstep) const override
Evaluates Internal forces vector, i.e. $b^T\sigma(u)$.
void computeTMgeneralizedStrain(FloatArray &answer, FloatMatrix &B, MPElement &cell, const FloatArray &lcoords, MaterialMode mmode, TimeStep *tstep) const
const Variable * temperatureField
TMBTSigTerm(const Variable *testField, const Variable *unknownField, const Variable *temperatureField)
void evaluate(FloatArray &, MPElement &cell, GaussPoint *gp, TimeStep *tstep) const override
Evaluates Internal forces vector, i.e. $w^T(\grad N)^T f(p)$.
TMgNTfTerm(const Variable *testField, const Variable *unknownField, MatResponseMode lhsType, MatResponseMode rhsType)
const Variable * testField
Definition mpm.h:137
MatResponseMode lhsType
Definition termlibrary.h:94
gNTfTerm(const Variable *testField, const Variable *unknownField, MatResponseMode lhsType, MatResponseMode rhsType)
MatResponseMode rhsType
Definition termlibrary.h:94

This page is part of the OOFEM-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak Bořek Patzák
Project e-mail: oofem@fsv.cvut.cz
Generated at for OOFEM by doxygen 1.15.0 written by Dimitri van Heesch, © 1997-2011