xc
MRMFreedom_FE.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 //MRMFreedom_FE.h
29 
30 
31 #ifndef MRMFreedom_FE_h
32 #define MRMFreedom_FE_h
33 
34 #include "MPBase_FE.h"
35 #include <vector>
36 
37 namespace XC {
38 class Node;
39 class MRMFreedom_Constraint;
40 
42 //
44 class MRMFreedom_FE: public MPBase_FE
45  {
46  protected:
47  MRMFreedom_Constraint *theMRMP;
48  std::vector<Node *> theRetainedNodes;
49 
51  void assemble_retained_DOF_displacements(Vector &, const int &) const;
52  MRMFreedom_FE(int tag, int numDOF_Group, int ndof, MRMFreedom_Constraint &,const double &alpha= 1.0);
53  int determineConstrainedDOFsIDs(const int &);
54  int determineRetainedDOFsIDs(const int &);
55  int determineRetainedNodesDofGrpPtr(Domain &,const int &);
56  };
57 } // end of XC namespace
58 
59 #endif
60 
61 
int determineConstrainedDOFsIDs(const int &)
determine the IDs in myID for those DOFs marked as constrained DOFs, this is obtained from the DOF_Gr...
Definition: MRMFreedom_FE.cc:98
Float vector abstraction.
Definition: Vector.h:94
void assemble_retained_DOF_displacements(Vector &, const int &) const
Put the retained DOFs displacements in the given vector.
Definition: MRMFreedom_FE.cc:64
void assemble_constrained_DOF_displacements(Vector &) const
Put the constradned DOFs displacements in the given vector.
Definition: MRMFreedom_FE.cc:42
int determineRetainedDOFsIDs(const int &)
determine determine the IDs for the retained dof&#39;s
Definition: MRMFreedom_FE.cc:102
??
Definition: MRMFreedom_FE.h:44
??
Definition: MPBase_FE.h:44
Multiple retained nodes constraint.
Definition: MRMFreedom_Constraint.h:59
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
MRMFreedom_FE(int tag, int numDOF_Group, int ndof, MRMFreedom_Constraint &, const double &alpha=1.0)
Constructor.
Definition: MRMFreedom_FE.cc:37
Domain (mesh and boundary conditions) of the finite element model.
Definition: Domain.h:117
int determineRetainedNodesDofGrpPtr(Domain &, const int &)
get the DOF_Group attached to the retained nodes.
Definition: MRMFreedom_FE.cc:160