OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
domaintransactionmanager.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 - 2013 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 domaintransactionmanager_h
36
#define domaintransactionmanager_h
37
38
#include "oofemcfg.h"
39
40
#include <map>
41
42
namespace
oofem
{
43
class
FEMComponent;
44
class
Domain;
45
class
DofManager;
46
class
Element;
75
class
OOFEM_EXPORT
DomainTransactionManager
76
{
77
public
:
78
enum
DomainComponentType
{ DCT_DofManager, DCT_Element };
79
enum
DomainTransactionType
{ DTT_ADD, DTT_Remove };
80
/*
81
* struct DTM_Transaction {
82
* /// transaction type
83
* DomainTransactionType _ttype;
84
* /// component type
85
* DomainComponentType _ctype;
86
* /// temporary number
87
* int _num;
88
* /// component adress
89
* FemComponent* _obj;
90
* };
91
*/
92
protected
:
93
Domain
*
domain
;
94
std :: map< int, DofManager * >
dofmanTransactions
;
95
std :: map< int, Element * >
elementTransactions
;
96
//list<DTM_Transaction> transactions;
97
98
public
:
99
DomainTransactionManager
(
Domain
* d);
100
~
DomainTransactionManager
();
101
102
void
initialize();
103
int
addDofManTransaction(
DomainTransactionType
,
int
,
DofManager
*);
104
int
addElementTransaction(
DomainTransactionType
,
int
,
Element
*);
105
DofManager
*giveDofManager(
int
label);
106
Element
*giveElement(
int
label);
107
int
commitTransactions();
108
109
110
friend
class
Domain
;
111
};
112
}
// end namespace oofem
113
114
#endif // domaintransactionmanager_h
oofem::Domain
Class and object Domain.
Definition:
domain.h:115
oofem::DomainTransactionManager::DomainTransactionType
DomainTransactionType
Definition:
domaintransactionmanager.h:79
oofem::Element
Abstract base class for all finite elements.
Definition:
element.h:145
oofem::DofManager
Base class for dof managers.
Definition:
dofmanager.h:113
oofem::DomainTransactionManager::dofmanTransactions
std::map< int, DofManager * > dofmanTransactions
Definition:
domaintransactionmanager.h:94
oofem::DomainTransactionManager
Class representing domain transaction manager.
Definition:
domaintransactionmanager.h:75
oofem::DomainTransactionManager::DomainComponentType
DomainComponentType
Definition:
domaintransactionmanager.h:78
oofem::DomainTransactionManager::elementTransactions
std::map< int, Element * > elementTransactions
Definition:
domaintransactionmanager.h:95
oofem
the oofem namespace is to define a context or scope in which all oofem names are defined.
oofem::DomainTransactionManager::domain
Domain * domain
Definition:
domaintransactionmanager.h:93
This page is part of the
OOFEM
documentation. Copyright (c) 2011
Borek Patzak
Project e-mail:
info@oofem.org
Generated at Tue Jan 2 2018 20:07:28 for OOFEM by
doxygen
1.8.11 written by
Dimitri van Heesch
, © 1997-2011