OOFEM 3.0
Loading...
Searching...
No Matches
coupledfieldselement.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 *
14 * Copyright (C) 1993 - 2025 Borek Patzak
15 *
16 *
17 *
18 * Czech Technical University, Faculty of Civil Engineering,
19 * Department of Structural Mechanics, 166 29 Prague, Czech Republic
20 *
21 * This library is free software; you can redistribute it and/or
22 * modify it under the terms of the GNU Lesser General Public
23 * License as published by the Free Software Foundation; either
24 * version 2.1 of the License, or (at your option) any later version.
25 *
26 * This program is distributed in the hope that it will be useful,
27 * but WITHOUT ANY WARRANTY; without even the implied warranty of
28 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
29 * Lesser General Public License for more details.
30 *
31 * You should have received a copy of the GNU Lesser General Public
32 * License along with this library; if not, write to the Free Software
33 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
34 */
35#if 1
36#ifndef coupledfieldselement_h
37#define coupledfieldselement_h
38
40
41namespace oofem {
48{
49protected:
50 int nlGeo;
51
52public:
53 CoupledFieldsElement(int i, Domain *aDomain);
55
56protected:
57 virtual void computeNStressAt(GaussPoint *, FloatArray &) = 0;
58 virtual void computeBStressAt(GaussPoint *, FloatArray &) = 0;
59
60 double computeVolumeAround(GaussPoint *) override = 0;
61 void computeStiffnessMatrix(FloatMatrix &, MatResponseMode, TimeStep *) override = 0;
62 void giveInternalForcesVector(FloatArray &answer, TimeStep *tStep, int useUpdatedGpRecord) override = 0;
63
64 void computeVectorOfDofIDs(const IntArray &dofIdArray, ValueModeType valueMode, TimeStep *stepN, FloatArray &answer);
65 void computeLocationArrayOfDofIDs(const IntArray &dofIdArray, IntArray &answer);
66
67 void computeStiffnessMatrixGen(FloatMatrix &answer, MatResponseMode rMode, TimeStep *tStep,
68 void (*Nfunc)(GaussPoint*, FloatMatrix),
69 void (*Bfunc)(GaussPoint*, FloatMatrix),
70 void (*NStiffness)(FloatMatrix, MatResponseMode, GaussPoint*, TimeStep*),
71 void (*BStiffness)(FloatMatrix, MatResponseMode, GaussPoint*, TimeStep*),
72 double (*volumeAround)(GaussPoint*) );
73
74 void giveInternalForcesVectorGen(FloatArray &answer, TimeStep *tStep, int useUpdatedGpRecord,
75 void (*Nfunc)(GaussPoint*, FloatMatrix), void (*Bfunc)(GaussPoint*, FloatMatrix, int, int), //(GaussPoint*, FloatMatrix)
76 void (*NStress)(GaussPoint*, FloatArray), void (*BStress)(GaussPoint*, FloatArray),
77 double (*volumeAround)(GaussPoint*) );
78};
79} // end namespace oofem
80
81#endif
82#endif
void giveInternalForcesVectorGen(FloatArray &answer, TimeStep *tStep, int useUpdatedGpRecord, void(*Nfunc)(GaussPoint *, FloatMatrix), void(*Bfunc)(GaussPoint *, FloatMatrix, int, int), void(*NStress)(GaussPoint *, FloatArray), void(*BStress)(GaussPoint *, FloatArray), double(*volumeAround)(GaussPoint *))
void computeLocationArrayOfDofIDs(const IntArray &dofIdArray, IntArray &answer)
virtual void computeBStressAt(GaussPoint *, FloatArray &)=0
void computeStiffnessMatrixGen(FloatMatrix &answer, MatResponseMode rMode, TimeStep *tStep, void(*Nfunc)(GaussPoint *, FloatMatrix), void(*Bfunc)(GaussPoint *, FloatMatrix), void(*NStiffness)(FloatMatrix, MatResponseMode, GaussPoint *, TimeStep *), void(*BStiffness)(FloatMatrix, MatResponseMode, GaussPoint *, TimeStep *), double(*volumeAround)(GaussPoint *))
void computeVectorOfDofIDs(const IntArray &dofIdArray, ValueModeType valueMode, TimeStep *stepN, FloatArray &answer)
double computeVolumeAround(GaussPoint *) override=0
void computeStiffnessMatrix(FloatMatrix &, MatResponseMode, TimeStep *) override=0
void giveInternalForcesVector(FloatArray &answer, TimeStep *tStep, int useUpdatedGpRecord) override=0
CoupledFieldsElement(int i, Domain *aDomain)
virtual void computeNStressAt(GaussPoint *, FloatArray &)=0
NLStructuralElement(int n, Domain *d)

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