XC Open source finite element analysis program
Main Page
Modules
Namespaces
Classes
Files
File List
xc
src
domain
constraints
MFreedom_Joint.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
#ifndef MFreedom_Joint_h
48
#define MFreedom_Joint_h
49
50
// Written: Arash Altoontash, Gregory Deierlein
51
// Created: 08/01
52
// Revision: Arash
53
54
// Purpose: This file contains the class definition for MFreedom_Joint.
55
// It is a sub class for MFreedom_Constraint specialized to be used for simple joint
56
// connection element. MFreedom_Joint defines a nonlinear, time dependent multi
57
// point constraint.
58
//
59
60
#include <domain/constraints/MFreedom_Constraint.h>
61
62
namespace
XC
{
63
64
class
Node;
65
class
Matrix;
66
class
ID;
67
68
70
//
72
class
MFreedom_Joint
:
public
MFreedom_Constraint
73
{
74
protected
:
75
Node
*
RetainedNode
;
76
Node
*
ConstrainedNode
;
77
int
LargeDisplacement
;
78
// 0 for constant constraint matrix(small deformations)
79
// 1 for time varying constraint matrix(large deformations)
80
// 2 for large deformations with length correction
81
double
Length0;
82
public
:
83
// constructors
84
MFreedom_Joint
(
int
tag,
int
classTag);
85
MFreedom_Joint
(
Domain
*theDomain,
int
tag,
int
classTag,
int
nodeRetain,
int
nodeConstr,
int
LrgDsp);
86
~MFreedom_Joint
(
void
);
87
88
// method to get information about the constraint
89
bool
isTimeVarying
(
void
)
const
;
90
void
setDomain
(
Domain
*theDomain);
91
92
// methods for output
93
void
Print
(std::ostream &s,
int
flag =0);
94
};
95
}
// end of XC namespace
96
97
#endif
98
XC::MFreedom_Joint::LargeDisplacement
int LargeDisplacement
flag for large displacements enabled; LrgDsp=0 means large displacement is not enabled ...
Definition:
MFreedom_Joint.h:77
XC::MFreedom_Joint::MFreedom_Joint
MFreedom_Joint(int tag, int classTag)
Constructor.
Definition:
MFreedom_Joint.cc:42
XC::Domain
Domain (mesh and boundary conditions) of the finite element model.
Definition:
Domain.h:98
XC::MFreedom_Joint::Print
void Print(std::ostream &s, int flag=0)
Printing.
Definition:
MFreedom_Joint.cc:86
XC::Node
Mesh node.
Definition:
Node.h:99
XC::MFreedom_Joint
Base class for joint constraints.
Definition:
MFreedom_Joint.h:72
XC::MFreedom_Joint::setDomain
void setDomain(Domain *theDomain)
Sets the domain of the constraint.
Definition:
MFreedom_Joint.cc:99
XC::MFreedom_Joint::isTimeVarying
bool isTimeVarying(void) const
Returns true if constraint varies with time (geometric non-linearity).
Definition:
MFreedom_Joint.cc:81
XC::MFreedom_Joint::RetainedNode
Node * RetainedNode
to identify the retained node
Definition:
MFreedom_Joint.h:75
XC::MFreedom_Joint::~MFreedom_Joint
~MFreedom_Joint(void)
Destructor.
Definition:
MFreedom_Joint.cc:71
XC::MFreedom_Constraint
Multi-freedom constraint. Objectt of this class store the information for a multifreedom constraint...
Definition:
MFreedom_Constraint.h:84
XC
================================================================================
Definition:
ContinuaReprComponent.h:34
XC::MFreedom_Joint::ConstrainedNode
Node * ConstrainedNode
to identify the constrained node
Definition:
MFreedom_Joint.h:76
Generated by
1.8.11