fElmt05.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:20 $
00023 // $Source: /usr/local/cvs/OpenSees/SRC/element/feap/fElmt05.cpp,v $
00024                                                                         
00025                                                                         
00026 // File: ~/element/fortran/fElmt05.C
00027 // 
00028 // Written: fmk 
00029 // Created: 07/98
00030 // Revision: A
00031 //
00032 // Description: This file contains the implementation for the fElmt05 class.
00033 //
00034 // What: "@(#) fElement.C, revA"
00035 
00036 #include "fElmt05.h"
00037 #include <ID.h>
00038 #include <Vector.h>
00039 
00040 
00041 fElmt05::fElmt05(int tag, int nd1, int nd2, double E, double A, double rho)
00042 :fElement(tag, ELE_TAG_fElmt05, 3, 2, 0, 0)
00043 {
00044     (*data)(0) = A;
00045     (*data)(1) = E;
00046     (*data)(2) = rho;
00047     
00048     (*connectedNodes)(0) = nd1; 
00049     (*connectedNodes)(1) = nd2;   
00050 }
00051     
00052 fElmt05::fElmt05()
00053 :fElement(ELE_TAG_fElmt05)    
00054 {
00055     // does nothing
00056 }
00057 
00058 fElmt05::~fElmt05()
00059 {
00060     // does nothing
00061 }
00062 
00063 
00064 extern "C" int elmt05_(double *d, double *ul, double *xl, int *ix, double *tl, 
00065                        double *s, double *r, int *ndf, int *ndm, int *nst, int *isw, 
00066                        double *dm, int *nen, int *n, int *nh1, int *nh2, int *nh3, 
00067                        double *h, double *ctan, int *ior, int *iow);
00068 
00069 int
00070 fElmt05::invokefRoutine(double *d, double *ul, double *xl, int *ix, double *tl, 
00071                         double *s, double *r, int ndf, int ndm, int nst, int isw, 
00072                         double dm, int nen, int n, int nh1, int nh2, int nh3, 
00073                         double *h, double *ctan, int ior, int iow)
00074 {
00075     // check that the values are acceptable to the fortran subroutine
00076     if (nst != 4 || nen != 2 || dm != 2)
00077         return 0;
00078     
00079     elmt05_(d, ul, xl, ix, tl, s, r, ndf, ndm, nst, isw, dm,
00080             nen, n, nh1, nh2, nh3, h, ctan, ior, iow);
00081         
00082     return nst;
00083 }
00084 

Generated on Mon Oct 23 15:05:05 2006 for OpenSees by doxygen 1.5.0