XC Open source finite element analysis program
Main Page
Modules
Namespaces
Classes
Files
File List
xc
src
domain
domain
subdomain
modelbuilder
PartitionedModelBuilder.h
1
//----------------------------------------------------------------------------
2
// XC program; finite element analysis code
3
// for structural analysis and design.
4
//
5
// Copyright (C) Luis Claudio Pérez Tato
6
//
7
// This program derives from OpenSees <http://opensees.berkeley.edu>
8
// developed by the «Pacific earthquake engineering research center».
9
//
10
// Except for the restrictions that may arise from the copyright
11
// of the original program (see copyright_opensees.txt)
12
// XC is free software: you can redistribute it and/or modify
13
// it under the terms of the GNU General Public License as published by
14
// the Free Software Foundation, either version 3 of the License, or
15
// (at your option) any later version.
16
//
17
// This software is distributed in the hope that it will be useful, but
18
// WITHOUT ANY WARRANTY; without even the implied warranty of
19
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
// GNU General Public License for more details.
21
//
22
//
23
// You should have received a copy of the GNU General Public License
24
// along with this program.
25
// If not, see <http://www.gnu.org/licenses/>.
26
//----------------------------------------------------------------------------
27
/* ****************************************************************** **
28
** OpenSees - Open System for Earthquake Engineering Simulation **
29
** Pacific Earthquake Engineering Research Center **
30
** **
31
** **
32
** (C) Copyright 1999, The Regents of the University of California **
33
** All Rights Reserved. **
34
** **
35
** Commercial use of this program without express permission of the **
36
** University of California, Berkeley, is strictly prohibited. See **
37
** file 'COPYRIGHT' in main directory for information on usage and **
38
** redistribution, and for a DISCLAIMER OF ALL WARRANTIES. **
39
** **
40
** Developed by: **
41
** Frank McKenna (fmckenna@ce.berkeley.edu) **
42
** Gregory L. Fenves (fenves@ce.berkeley.edu) **
43
** Filip C. Filippou (filippou@ce.berkeley.edu) **
44
** **
45
** ****************************************************************** */
46
47
// $Revision: 1.1.1.1 $
48
// $Date: 2000/09/15 08:23:23 $
49
// $Source: /usr/local/cvs/OpenSees/SRC/modelbuilder/PartitionedModelBuilder.h,v $
50
51
52
// File: ~/modelbuilder/PartitionedModelBuilder.h
53
//
54
// Written: fmk
55
// Created: 03/98
56
// Revision: A
57
//
58
// Description: This file contains the class definition for
59
// PartitionedModelBuilder. PartitionedModelBuilder is an abstract class,
60
// A PartitionedModelBuilder creates the discritization of the
61
// structure, placing the components into the appropriate subdomains
62
// within the PartitionedDomain.
63
//
64
// What: "@(#) PartitionedModelBuilder.h, revA"
65
66
#ifndef PartitionedModelBuilder_h
67
#define PartitionedModelBuilder_h
68
69
#include "ModelBuilder.h"
70
#include "utility/actor/actor/MovableObject.h"
71
72
namespace
XC
{
73
class
PartitionedDomain;
74
class
Subdomain;
75
76
class
PartitionedModelBuilder
:
public
ModelBuilder
,
public
MovableObject
77
{
78
public
:
79
PartitionedModelBuilder
(
PartitionedDomain
&aPartitionedDomain,
int
classTag);
80
PartitionedModelBuilder
(
Subdomain
&aSubdomain,
int
classTag);
81
82
virtual
int
buildFE_Model(
void
);
83
virtual
int
buildInterface(
int
numSubdomains) =0;
84
virtual
int
buildSubdomain(
int
partition,
int
numPartitions,
Subdomain
&theSubdomain) =0;
85
86
protected
:
87
PartitionedDomain
*getPartitionedDomainPtr(
void
)
const
;
88
89
private
:
90
PartitionedDomain
*thePartitionedDomain;
91
};
92
}
// end of XC namespace
93
94
#endif
95
XC::PartitionedModelBuilder
Definition:
PartitionedModelBuilder.h:76
XC::ModelBuilder
Definition:
ModelBuilder.h:71
XC::PartitionedDomain
Partitioned domain.
Definition:
PartitionedDomain.h:82
XC::MovableObject
Object that can move between processes.
Definition:
MovableObject.h:91
XC::Subdomain
Definition:
Subdomain.h:87
XC
================================================================================
Definition:
ContinuaReprComponent.h:34
Generated by
1.8.11