xc
src
domain
constraints
MFreedom_Joint.h
1
// -*-c++-*-
2
//----------------------------------------------------------------------------
3
// XC program; finite element analysis code
4
// for structural analysis and design.
5
//
6
// Copyright (C) Luis C. Pérez Tato
7
//
8
// This program derives from OpenSees <http://opensees.berkeley.edu>
9
// developed by the «Pacific earthquake engineering research center».
10
//
11
// Except for the restrictions that may arise from the copyright
12
// of the original program (see copyright_opensees.txt)
13
// XC is free software: you can redistribute it and/or modify
14
// it under the terms of the GNU General Public License as published by
15
// the Free Software Foundation, either version 3 of the License, or
16
// (at your option) any later version.
17
//
18
// This software is distributed in the hope that it will be useful, but
19
// WITHOUT ANY WARRANTY; without even the implied warranty of
20
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
// GNU General Public License for more details.
22
//
23
//
24
// You should have received a copy of the GNU General Public License
25
// along with this program.
26
// If not, see <http://www.gnu.org/licenses/>.
27
//----------------------------------------------------------------------------
28
/* ****************************************************************** **
29
** OpenSees - Open System for Earthquake Engineering Simulation **
30
** Pacific Earthquake Engineering Research Center **
31
** **
32
** **
33
** (C) Copyright 1999, The Regents of the University of California **
34
** All Rights Reserved. **
35
** **
36
** Commercial use of this program without express permission of the **
37
** University of California, Berkeley, is strictly prohibited. See **
38
** file 'COPYRIGHT' in main directory for information on usage and **
39
** redistribution, and for a DISCLAIMER OF ALL WARRANTIES. **
40
** **
41
** Developed by: **
42
** Frank McKenna (fmckenna@ce.berkeley.edu) **
43
** Gregory L. Fenves (fenves@ce.berkeley.edu) **
44
** Filip C. Filippou (filippou@ce.berkeley.edu) **
45
** **
46
** ****************************************************************** */
47
48
#ifndef MFreedom_Joint_h
49
#define MFreedom_Joint_h
50
51
// Written: Arash Altoontash, Gregory Deierlein
52
// Created: 08/01
53
// Revision: Arash
54
55
// Purpose: This file contains the class definition for MFreedom_Joint.
56
// It is a sub class for MFreedom_Constraint specialized to be used for simple joint
57
// connection element. MFreedom_Joint defines a nonlinear, time dependent multi
58
// point constraint.
59
//
60
61
#include <domain/constraints/MFreedom_Constraint.h>
62
63
namespace
XC
{
64
65
class
Node;
66
class
Matrix;
67
class
ID;
68
69
71
//
73
class
MFreedom_Joint
:
public
MFreedom_Constraint
74
{
75
protected
:
76
Node
*
RetainedNode
;
77
Node
*
ConstrainedNode
;
78
int
LargeDisplacement
;
79
// 0 for constant constraint matrix(small deformations)
80
// 1 for time varying constraint matrix(large deformations)
81
// 2 for large deformations with length correction
82
double
Length0;
83
public
:
84
// constructors
85
MFreedom_Joint
(
int
tag,
int
classTag);
86
MFreedom_Joint
(
Domain
*theDomain,
int
tag,
int
classTag,
int
nodeRetain,
int
nodeConstr,
int
LrgDsp);
87
~MFreedom_Joint
(
void
);
88
89
// method to get information about the constraint
90
bool
isTimeVarying
(
void
)
const
;
91
void
setDomain
(
Domain
*theDomain);
92
93
// methods for output
94
void
Print
(std::ostream &s,
int
flag =0)
const
;
95
};
96
}
// end of XC namespace
97
98
#endif
99
XC::MFreedom_Joint::~MFreedom_Joint
~MFreedom_Joint(void)
Destructor.
Definition:
MFreedom_Joint.cc:71
XC::MFreedom_Joint::setDomain
void setDomain(Domain *theDomain)
Sets the domain of the constraint.
Definition:
MFreedom_Joint.cc:99
XC::MFreedom_Joint::ConstrainedNode
Node * ConstrainedNode
to identify the constrained node
Definition:
MFreedom_Joint.h:77
XC::MFreedom_Joint
Base class for joint constraints.
Definition:
MFreedom_Joint.h:73
XC::MFreedom_Joint::LargeDisplacement
int LargeDisplacement
flag for large displacements enabled; LrgDsp=0 means large displacement is not enabled ...
Definition:
MFreedom_Joint.h:78
XC::MFreedom_Joint::Print
void Print(std::ostream &s, int flag=0) const
Printing.
Definition:
MFreedom_Joint.cc:86
XC::MFreedom_Joint::MFreedom_Joint
MFreedom_Joint(int tag, int classTag)
Constructor.
Definition:
MFreedom_Joint.cc:42
XC::MFreedom_Joint::isTimeVarying
bool isTimeVarying(void) const
Returns true if constraint varies with time (geometric non-linearity).
Definition:
MFreedom_Joint.cc:81
XC
Open source finite element program for structural analysis.
Definition:
ContinuaReprComponent.h:35
XC::MFreedom_Constraint
Multi-freedom constraint.
Definition:
MFreedom_Constraint.h:113
XC::Domain
Domain (mesh and boundary conditions) of the finite element model.
Definition:
Domain.h:117
XC::Node
Mesh node.
Definition:
Node.h:111
XC::MFreedom_Joint::RetainedNode
Node * RetainedNode
to identify the retained node
Definition:
MFreedom_Joint.h:76
Generated by
1.8.13