OOFEM 3.0
Loading...
Searching...
No Matches
tet1_3d_supg.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
35#ifndef tet1_3d_supg_h
36#define tet1_3d_supg_h
37
38#include "supgelement2.h"
39#include "levelsetpcs.h"
40
41#define _IFT_Tet1_3D_SUPG_Name "tet1supg"
42
43namespace oofem {
44class FEI3dTetLin;
45
51{
52protected:
54
55public:
56 Tet1_3D_SUPG(int n, Domain * d);
57
58 // definition
59 const char *giveClassName() const override { return "Tet1_3D_SUPG"; }
60 const char *giveInputRecordName() const override { return _IFT_Tet1_3D_SUPG_Name; }
61 MaterialMode giveMaterialMode() override { return _3dFlow; }
62 void giveDofManDofIDMask(int inode, IntArray &answer) const override;
63 int computeNumberOfDofs() override;
64 Element_Geometry_Type giveGeometryType() const override {return EGT_tetra_1;}
65
66
68
69 double computeCriticalTimeStep(TimeStep *tStep) override;
70 double computeVolumeAround(GaussPoint *gp) override;
71
72 void updateStabilizationCoeffs(TimeStep *tStep) override;
73
74 double LS_PCS_computeF(LevelSetPCS *, TimeStep *tStep) override;
75 void LS_PCS_computedN(FloatMatrix &answer) override;
76 double LS_PCS_computeVolume() override;
77 double LS_PCS_computeS(LevelSetPCS *, TimeStep *tStep) override;
78 void LS_PCS_computeVOFFractions(FloatArray &answer, FloatArray &fi) override;
79
80#ifdef __OOFEG
81 void drawRawGeometry(oofegGraphicContext &gc, TimeStep *tStep) override;
82#endif
83
84protected:
85 void computeGaussPoints() override;
86 void computeDeviatoricStress(FloatArray &answer, const FloatArray &eps, GaussPoint *gp, TimeStep *tStep) override;
87 void computeTangent(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) override;
88 void computeNuMatrix(FloatMatrix &answer, GaussPoint *gp) override;
89 void computeUDotGradUMatrix(FloatMatrix &answer, GaussPoint *gp, TimeStep *tStep) override;
90 void computeBMatrix(FloatMatrix &anwer, GaussPoint *gp) override;
91 void computeDivUMatrix(FloatMatrix &answer, GaussPoint *gp) override;
92 void computeNpMatrix(FloatMatrix &answer, GaussPoint *gp) override;
93 void computeGradPMatrix(FloatMatrix &answer, GaussPoint *gp) override;
94 void computeDivTauMatrix(FloatMatrix &answer, GaussPoint *gp, TimeStep *tStep) override;
95 void computeGradUMatrix(FloatMatrix &answer, GaussPoint *gp, TimeStep *tStep) override;
96 int giveNumberOfSpatialDimensions() override;
97};
98} // end namespace oofem
99#endif // tet1_3d_supg_h
SUPGElement2(int n, Domain *aDomain)
const char * giveClassName() const override
static FEI3dTetLin interpolation
const char * giveInputRecordName() const override
double computeCriticalTimeStep(TimeStep *tStep) override
Computes the critical time increment.
void computeNuMatrix(FloatMatrix &answer, GaussPoint *gp) override
void computeTangent(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) override
void drawRawGeometry(oofegGraphicContext &gc, TimeStep *tStep) override
void updateStabilizationCoeffs(TimeStep *tStep) override
void computeDivUMatrix(FloatMatrix &answer, GaussPoint *gp) override
void computeDeviatoricStress(FloatArray &answer, const FloatArray &eps, GaussPoint *gp, TimeStep *tStep) override
void LS_PCS_computeVOFFractions(FloatArray &answer, FloatArray &fi) override
void LS_PCS_computedN(FloatMatrix &answer) override
Interface * giveInterface(InterfaceType t) override
Element_Geometry_Type giveGeometryType() const override
MaterialMode giveMaterialMode() override
double computeVolumeAround(GaussPoint *gp) override
void computeDivTauMatrix(FloatMatrix &answer, GaussPoint *gp, TimeStep *tStep) override
double LS_PCS_computeF(LevelSetPCS *, TimeStep *tStep) override
void computeGaussPoints() override
void computeBMatrix(FloatMatrix &anwer, GaussPoint *gp) override
int computeNumberOfDofs() override
void computeGradUMatrix(FloatMatrix &answer, GaussPoint *gp, TimeStep *tStep) override
int giveNumberOfSpatialDimensions() override
double LS_PCS_computeVolume() override
Returns receiver's volume.
void computeGradPMatrix(FloatMatrix &answer, GaussPoint *gp) override
double LS_PCS_computeS(LevelSetPCS *, TimeStep *tStep) override
void computeUDotGradUMatrix(FloatMatrix &answer, GaussPoint *gp, TimeStep *tStep) override
void giveDofManDofIDMask(int inode, IntArray &answer) const override
Tet1_3D_SUPG(int n, Domain *d)
void computeNpMatrix(FloatMatrix &answer, GaussPoint *gp) override
oofem::oofegGraphicContext gc[OOFEG_LAST_LAYER]
#define _IFT_Tet1_3D_SUPG_Name

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