XC Open source finite element analysis program
BJvector.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 // $Revision: 1.1 $
29 // $Date: 2001/08/23 16:45:51 $
30 // $Source: /usr/local/cvs/OpenSees/SRC/nDarray/BJvector.h,v $
31 
32 //#############################################################################
33 // #
34 // #
35 // /~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/~~\ #
36 // | |____| #
37 // | | #
38 // | | #
39 // | | #
40 // | | #
41 // | B A S E C L A S S E S | #
42 // | | #
43 // | | #
44 // | | #
45 // | | #
46 // | C + + H E A D E R | #
47 // | | #
48 // | | #
49 // | | #
50 // | | #
51 // /~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/ | #
52 // \_________________________________________\__/ #
53 // #
54 // #
55 //#############################################################################
56 //#############################################################################
58 //################################################################################
59 //# COPYRIGHT (C): :-)) #
60 //# PROJECT: Object Oriented Finite Element Program #
61 //# PURPOSE: #
62 //# CLASS: BJvector #
63 //# #
64 //# VERSION: #
65 //# LANGUAGE: C++.ver >= 2.0 ( Borland C++ ver=3.10, SUN C++ ver=2.1 ) #
66 //# TARGET OS: DOS || UNIX || . . . #
67 //# DESIGNER(S): Boris Jeremic #
68 //# PROGRAMMER(S): Boris Jeremic #
69 //# #
70 //# #
71 //# DATE: November '92 #
72 //# UPDATE HISTORY: 05 - __ avgust '93. redefined as derived class from #
73 //# nDarray class #
74 //# August 22-29 '94 choped to separate files and worked on #
75 //# const and & issues #
76 //# August 30-31 '94 added use_def_dim to full the CC #
77 //# resolved problem with temoraries for #
78 //# operators + and - ( +=, -= ) #
79 //# #
80 //# #
81 //# #
82 //# #
83 //# #
84 //################################################################################
85 //*/
86 
87 
88 #ifndef VECTOR_HH
89 #define VECTOR_HH
90 
91 #include "utility/matrix/nDarray/BJmatrix.h"
92 
93 // All of this inheritance idioms are after
94 // Jim Coplien : "Advanced C++ programing styles and idioms".
95 // I tried to understand idioms and I think I succeded.
96 
97 namespace XC {
99 //
100 class BJvector: virtual public BJmatrix
101  {
102  public:
103  BJvector(int order_n = 1, double initvalue = 0.0); // default constructor
104 
105  BJvector(int order_n, double *initval);
106 
107  explicit BJvector(const nDarray &x); // copy-initializer
108 
109 //.... ~BJvector( );
110 
111  BJvector& operator=( const BJvector & x ); // BJvector assignment
112 //.. BJvector& operator=( const BJmatrix & x ); // BJvector assignment
113 //.. BJvector& operator=( const nDarray & x ); // BJvector assignment
114 
115 //####### BJmatrix operator*( BJvector &); // BJvector multiplication
116 
117 //.... BJvector operator*( double arg); // scalar multiplication
118 // this ellipsis at the end are just to prevent the compiler
119 // from issuing a warning on hiding function from base class nDarray . . .
120  double &val(int subscript, ... );
121  const double &val(int subscript, ... ) const;
122  double cval(int subscript, ... ) const; // const
123 // THE ROW COUNTER STARTS FROM 1 ( NOT FROM 0 )
124  };
125 } // end of XC namespace
126 #endif
Definition: BJvector.h:100
Definition: BJmatrix.h:102
================================================================================
Definition: ContinuaReprComponent.h:34
Definition: nDarray.h:158