Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

LagrangeDOF_Group.cpp

Go to the documentation of this file.
00001 /* ****************************************************************** **
00002 **    OpenSees - Open System for Earthquake Engineering Simulation    **
00003 **          Pacific Earthquake Engineering Research Center            **
00004 **                                                                    **
00005 **                                                                    **
00006 ** (C) Copyright 1999, The Regents of the University of California    **
00007 ** All Rights Reserved.                                               **
00008 **                                                                    **
00009 ** Commercial use of this program without express permission of the   **
00010 ** University of California, Berkeley, is strictly prohibited.  See   **
00011 ** file 'COPYRIGHT'  in main directory for information on usage and   **
00012 ** redistribution,  and for a DISCLAIMER OF ALL WARRANTIES.           **
00013 **                                                                    **
00014 ** Developed by:                                                      **
00015 **   Frank McKenna (fmckenna@ce.berkeley.edu)                         **
00016 **   Gregory L. Fenves (fenves@ce.berkeley.edu)                       **
00017 **   Filip C. Filippou (filippou@ce.berkeley.edu)                     **
00018 **                                                                    **
00019 ** ****************************************************************** */
00020                                                                         
00021 // $Revision: 1.1.1.1 $
00022 // $Date: 2000/09/15 08:23:16 $
00023 // $Source: /usr/local/cvs/OpenSees/SRC/analysis/dof_grp/LagrangeDOF_Group.cpp,v $
00024                                                                         
00025                                                                         
00026 // File: ~/analysis/dof_grp/LagrangeDOF_Group.h
00027 //
00028 // Written: fmk 
00029 // Created: 02/99
00030 // Revision: A
00031 //
00032 // Purpose: This file contains the code for implementing the methods
00033 // of the LagrangeDOF_Group class interface.
00034 //
00035 // What: "@(#) LagrangeDOF_Group.C, revA"
00036 
00037 
00038 #include <LagrangeDOF_Group.h>
00039 #include <stdlib.h>
00040 
00041 #include <Node.h>
00042 #include <Vector.h>
00043 #include <Matrix.h>
00044 #include <TransientIntegrator.h>
00045 #include <SP_Constraint.h>
00046 #include <MP_Constraint.h>
00047 
00048 LagrangeDOF_Group::LagrangeDOF_Group(int tag, SP_Constraint &spPtr)
00049 :DOF_Group(tag, 1)
00050 {
00051 
00052 }
00053 
00054 LagrangeDOF_Group::LagrangeDOF_Group(int tag, MP_Constraint &mpPtr)
00055 :DOF_Group(tag, (mpPtr.getRetainedDOFs()).Size())
00056 {
00057 
00058 }
00059 
00060 
00061 // ~LagrangeDOF_Group();    
00062 // destructor.
00063 
00064 LagrangeDOF_Group::~LagrangeDOF_Group()
00065 {
00066 
00067 }    
00068 
00069 const Matrix &
00070 LagrangeDOF_Group::getTangent(Integrator *theIntegrator)
00071 {
00072     // does nothing - the Lagrange FE_Elements provide coeffs to tangent
00073     if (tangent == 0) {
00074  int numDOF = this->getNumDOF();
00075  tangent = new Matrix(numDOF,numDOF);
00076  
00077  if (tangent == 0) {
00078      cerr << "FATAL LagrangeDOF_Group::getTangent() ";
00079      cerr << " ranout of memory\n";
00080      exit(-1);
00081  }
00082     }
00083     
00084     tangent->Zero();
00085     return *tangent;
00086     
00087 }
00088 
00089 const Vector &
00090 LagrangeDOF_Group::getUnbalance(Integrator *theIntegrator)
00091 {
00092     // does nothing - the Lagrange FE_Elements provide residual 
00093     unbalance->Zero();
00094     return *unbalance;
00095 }
00096 
00097 // void setNodeDisp(const Vector &u);
00098 // Method to set the corresponding nodes displacements to the
00099 // values in u, components identified by myID;
00100 
00101 void
00102 LagrangeDOF_Group::setNodeDisp(const Vector &u)
00103 {
00104     return;
00105 }
00106  
00107  
00108 // void setNodeVel(const Vector &udot);
00109 // Method to set the corresponding nodes velocities to the
00110 // values in udot, components identified by myID;
00111 
00112 void
00113 LagrangeDOF_Group::setNodeVel(const Vector &udot)
00114 {
00115     return;
00116 }
00117 
00118 
00119 
00120 // void setNodeAccel(const Vector &udotdot);
00121 // Method to set the corresponding nodes accelerations to the
00122 // values in udotdot, components identified by myID;
00123 
00124 void
00125 LagrangeDOF_Group::setNodeAccel(const Vector &udotdot)
00126 {
00127     return;
00128 }
00129 
00130 
00131 // void setNodeIncrDisp(const Vector &u);
00132 // Method to set the corresponding nodes displacements to the
00133 // values in u, components identified by myID;
00134 
00135 void
00136 LagrangeDOF_Group::incrNodeDisp(const Vector &u)
00137 {
00138     return;
00139 }
00140  
00141  
00142 // void setNodeincrVel(const Vector &udot);
00143 // Method to set the corresponding nodes velocities to the
00144 // values in udot, components identified by myID;
00145 
00146 void
00147 LagrangeDOF_Group::incrNodeVel(const Vector &udot)
00148 {
00149     return;
00150 }
00151 
00152 
00153 
00154 // void setNodeIncrAccel(const Vector &udotdot);
00155 // Method to set the corresponding nodes accelerations to the
00156 // values in udotdot, components identified by myID;
00157 
00158 void
00159 LagrangeDOF_Group::incrNodeAccel(const Vector &udotdot)
00160 {
00161     return;
00162 }
00163 
00164 
00165 const Vector &
00166 LagrangeDOF_Group::getCommittedDisp(void)
00167 {
00168     unbalance->Zero();
00169     return *unbalance;
00170 }
00171 
00172 const Vector &
00173 LagrangeDOF_Group::getCommittedVel(void)
00174 {
00175     unbalance->Zero();
00176     return *unbalance;
00177 }
00178 
00179 const Vector &
00180 LagrangeDOF_Group::getCommittedAccel(void)
00181 {
00182     unbalance->Zero();
00183     return *unbalance;
00184 }
00185 
00186 void  
00187 LagrangeDOF_Group::addMtoTang(double fact)
00188 {
00189 }
00190 
00191 void  
00192 LagrangeDOF_Group::zeroUnbalance(void)
00193 {
00194 }
00195 
00196 void  
00197 LagrangeDOF_Group::zeroTangent(void)
00198 {
00199 }
00200 
00201 void  
00202 LagrangeDOF_Group::addPtoUnbalance(double fact)
00203 {
00204 
00205 }
00206 
00207 void  
00208 LagrangeDOF_Group::addPIncInertiaToUnbalance(double fact)
00209 {
00210 
00211 }
00212 
00213 void  
00214 LagrangeDOF_Group::addM_Force(const Vector &Udotdot, double fact)
00215 {
00216 
00217 }
Copyright Contact Us