OOFEM 3.0
Loading...
Searching...
No Matches
fluidstructureproblem.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 fluidstructureproblem_h
36#define fluidstructureproblem_h
37
38#include "staggeredproblem.h"
39#include "inputrecord.h"
40
42
43#define _IFT_FluidStructureProblem_Name "fluidstuctureproblem"
44#define _IFT_FluidStructureProblem_rtolv "rtolv"
45#define _IFT_FluidStructureProblem_rtolp "rtolp"
46#define _IFT_FluidStructureProblem_maxiter "maxiter"
47
49
50namespace oofem {
61{
62protected:
66
68 double rtolv, rtolp;
71
72public:
76 FluidStructureProblem(int i, EngngModel *_master = NULL);
78 virtual ~FluidStructureProblem();
79
81 void setUDContextOutputMode(int cStep);
83
84 void solveYourselfAt(TimeStep *tStep) override;
85 void initializeYourself(TimeStep *tStep) override;
86 int initializeAdaptive(int stepNumber) override { return 0; }
87
88 void initializeFrom(InputRecord &ir) override;
89
91 void printDofOutputAt(FILE *stream, Dof *iDof, TimeStep *atTime) override { }
92
93 void preInitializeNextStep() override;
94
95 // identification
96 const char *giveClassName() const override { return "FluidStructureProblem"; }
97 const char *giveInputRecordName() const override { return _IFT_FluidStructureProblem_Name; }
98 int isIncremental() { return 0; }
99 int useNonlocalStiffnessOption() override { return 0; }
100
101 fMode giveFormulation() override { return UNKNOWN; }
102
104 void giveCoupledModels(IntArray &answer) { answer = coupledModels; }
105
106#ifdef __OOFEG
110 void showSparseMtrxStructure(int type, oofegGraphicContext &context, TimeStep *atTime) override { }
111#endif
112
113 int giveNumberOfSlaveProblems() override { return ( int ) inputStreamNames.size(); }
114
116};
117} // end namespace oofem
118#endif // fluidstructureproblem_h
EngngModelContext * context
Context.
Definition engngm.h:277
FluidStructureProblem(int i, EngngModel *_master=NULL)
int maxiter
Max number of iterations.
void setContextOutputMode(ContextOutputMode contextMode)
void setProblemMode(problemMode pmode)
int useNonlocalStiffnessOption() override
Returns nonzero if nonlocal stiffness option activated.
int giveNumberOfSlaveProblems() override
Returns number of slave problems.
double rtolv
Convergence tolerance.
void printDofOutputAt(FILE *stream, Dof *iDof, TimeStep *atTime) override
int iterationNumber
Iteration counter.
void solveYourselfAt(TimeStep *tStep) override
void showSparseMtrxStructure(int type, oofegGraphicContext &context, TimeStep *atTime) override
void giveCoupledModels(IntArray &answer)
Returns list of model number that this model is coupled with. Used for staggered approach.
const char * giveInputRecordName() const override
void initializeYourself(TimeStep *tStep) override
const char * giveClassName() const override
Returns class name of the receiver.
void setUDContextOutputMode(int cStep)
int initializeAdaptive(int stepNumber) override
StaggeredProblem(int i, EngngModel *_master=nullptr)
std ::vector< std ::string > inputStreamNames
IntArray coupledModels
List of slave models to which this model is coupled.
#define _IFT_FluidStructureProblem_Name
fMode
Definition fmode.h:42
@ UNKNOWN
Unknown.
Definition fmode.h:43
#define OOFEM_EXPORT
Definition oofemcfg.h:7

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