FDEPState.cpp

Go to the documentation of this file.
00001 //===============================================================================
00002 //# COPYRIGHT (C): Woody's license (by BJ):
00003 //                 ``This    source  code is Copyrighted in
00004 //                 U.S.,  for  an  indefinite  period,  and anybody
00005 //                 caught  using it without our permission, will be
00006 //                 mighty good friends of ourn, cause we don't give
00007 //                 a  darn.  Hack it. Compile it. Debug it. Run it.
00008 //                 Yodel  it.  Enjoy it. We wrote it, that's all we
00009 //                 wanted to do.''
00010 //
00011 //# PROJECT:           Object Oriented Finite Element Program
00012 //# PURPOSE:           Finite Deformation Hyper-Elastic classes
00013 //# CLASS:
00014 //#
00015 //# VERSION:           0.6_(1803398874989) (golden section)
00016 //# LANGUAGE:          C++
00017 //# TARGET OS:         all...
00018 //# DESIGN:            Zhao Cheng, Boris Jeremic (jeremic@ucdavis.edu)
00019 //# PROGRAMMER(S):     Zhao Cheng, Boris Jeremic
00020 //#
00021 //#
00022 //# DATE:              July 2004
00023 //# UPDATE HISTORY:
00024 //#
00025 //===============================================================================
00026 #ifndef FDEPState_CPP
00027 #define FDEPState_CPP
00028 
00029 #include "FDEPState.h"
00030 
00031 //-------------------------------------------------------------------------------
00032 // Normal Constructor 00
00033 //-------------------------------------------------------------------------------
00034 FDEPState::FDEPState ()
00035 {
00036         int err;
00037         err = this->revertToStart();
00038 }
00039 
00040 //-------------------------------------------------------------------------------
00041 // Normal Constructor 01
00042 //-------------------------------------------------------------------------------
00043 FDEPState::FDEPState ( const straintensor& xFpInVar,
00044                        double xStressLikeInVar,
00045                        double xStrainLikeInVar,
00046                        const stresstensor& xStressLikeKiVar,
00047                        const straintensor& xStrainLikeKiVar,
00048                        //
00049                        const straintensor& xCommitedFpInVar,
00050                        double xCommitedStressLikeInVar,
00051                        double xCommitedStrainLikeInVar,
00052                        const stresstensor& xCommitedStressLikeKiVar,
00053                        const straintensor& xCommitedStrainLikeKiVar )
00054 {
00055         FpInVar = xFpInVar;
00056         StressLikeInVar = xStressLikeInVar;
00057         StrainLikeInVar = xStrainLikeInVar;
00058         StressLikeKiVar = xStressLikeKiVar;
00059         StrainLikeKiVar = xStrainLikeKiVar;
00060         //
00061         CommitedFpInVar = xCommitedFpInVar;
00062         CommitedStressLikeInVar = xCommitedStressLikeInVar;
00063         CommitedStrainLikeInVar = xCommitedStrainLikeInVar;
00064         CommitedStressLikeKiVar = xCommitedStressLikeKiVar;
00065         CommitedStrainLikeKiVar = xCommitedStrainLikeKiVar;
00066 }
00067 
00068 //-------------------------------------------------------------------------------
00069 // Destructor
00070 //-------------------------------------------------------------------------------
00071 FDEPState::~FDEPState ()
00072 {
00073 
00074 }
00075 
00076 //------------------------------------------------------------------------------
00077 FDEPState *FDEPState::newObj ()
00078 {
00079     FDEPState *fdeps = new FDEPState ();
00080     return fdeps;
00081 }
00082 
00083 //------------------------------------------------------------------------------
00084 FDEPState::FDEPState( const FDEPState& fds )
00085 {
00086         setFpInVar(fds.getFpInVar());
00087         setStressLikeInVar(fds.getStressLikeInVar());
00088         setStrainLikeInVar(fds.getStrainLikeInVar());
00089         setStressLikeKiVar(fds.getStressLikeKiVar());
00090         setStrainLikeKiVar(fds.getStrainLikeKiVar());
00091         //
00092         setCommitedFpInVar(fds.getCommitedFpInVar());
00093         setCommitedStressLikeInVar(fds.getCommitedStressLikeInVar());
00094         setCommitedStrainLikeInVar(fds.getCommitedStrainLikeInVar());
00095         setCommitedStressLikeKiVar(fds.getCommitedStressLikeKiVar());
00096         setCommitedStrainLikeKiVar(fds.getCommitedStrainLikeKiVar());
00097 }
00098 
00099 // Get member variables
00100 //------------------------------------------------------------------------------
00101 straintensor FDEPState::getFpInVar() const
00102 {
00103         return FpInVar;
00104 }
00105 
00106 //------------------------------------------------------------------------------
00107 double FDEPState::getStrainLikeInVar() const
00108 {
00109         return StrainLikeInVar;
00110 }
00111 
00112 //------------------------------------------------------------------------------
00113 double FDEPState::getStressLikeInVar() const
00114 {
00115         return StressLikeInVar;
00116 }
00117 
00118 //------------------------------------------------------------------------------
00119 straintensor FDEPState::getStrainLikeKiVar() const
00120 {
00121         return StrainLikeKiVar;
00122 }
00123 
00124 //------------------------------------------------------------------------------
00125 stresstensor FDEPState::getStressLikeKiVar() const
00126 {
00127         return StressLikeKiVar;
00128 }
00129 
00130 //------------------------------------------------------------------------------
00131 straintensor FDEPState::getCommitedFpInVar() const
00132 {
00133         return CommitedFpInVar;
00134 }
00135 
00136 //------------------------------------------------------------------------------
00137 double FDEPState::getCommitedStrainLikeInVar() const
00138 {
00139         return CommitedStrainLikeInVar;
00140 }
00141 
00142 //------------------------------------------------------------------------------
00143 double FDEPState::getCommitedStressLikeInVar() const
00144 {
00145         return CommitedStressLikeInVar;
00146 }
00147 
00148 //------------------------------------------------------------------------------
00149 straintensor FDEPState::getCommitedStrainLikeKiVar() const
00150 {
00151         return CommitedStrainLikeKiVar;
00152 }
00153 
00154 //------------------------------------------------------------------------------
00155 stresstensor FDEPState::getCommitedStressLikeKiVar() const
00156 {
00157         return CommitedStressLikeKiVar;
00158 }
00159 
00160 // Set member variables
00161 //---------------------------------------------------------------------------
00162 void FDEPState::setFpInVar(const straintensor &xFpInVar)
00163 {
00164         this->FpInVar = xFpInVar;
00165 }
00166 
00167 //---------------------------------------------------------------------------
00168 void FDEPState::setStrainLikeInVar(double xStrainLikeInVar)
00169 {
00170         this->StrainLikeInVar = xStrainLikeInVar;
00171 }
00172 
00173 //---------------------------------------------------------------------------
00174 void FDEPState::setStressLikeInVar(double xStressLikeInVar)
00175 {
00176         this->StressLikeInVar = xStressLikeInVar;
00177 }
00178 
00179 //---------------------------------------------------------------------------
00180 void FDEPState::setStrainLikeKiVar(const straintensor& xStrainLikeKiVar)
00181 {
00182         this->StrainLikeKiVar = xStrainLikeKiVar;
00183 }
00184 
00185 //---------------------------------------------------------------------------
00186 void FDEPState::setStressLikeKiVar(const stresstensor& xStressLikeKiVar)
00187 {
00188         this->StressLikeKiVar = xStressLikeKiVar;
00189 }
00190 
00191 //---------------------------------------------------------------------------
00192 void FDEPState::setCommitedFpInVar(const straintensor &xCommitedFpInVar)
00193 {
00194         this->CommitedFpInVar = xCommitedFpInVar;
00195 }
00196 
00197 //---------------------------------------------------------------------------
00198 void FDEPState::setCommitedStrainLikeInVar(double xCommitedStrainLikeInVar)
00199 {
00200         this->CommitedStrainLikeInVar = xCommitedStrainLikeInVar;
00201 }
00202 
00203 //---------------------------------------------------------------------------
00204 void FDEPState::setCommitedStressLikeInVar(double xCommitedStressLikeInVar)
00205 {
00206         this->CommitedStressLikeInVar = xCommitedStressLikeInVar;
00207 }
00208 
00209 //---------------------------------------------------------------------------
00210 void FDEPState::setCommitedStrainLikeKiVar(const straintensor& xCommitedStrainLikeKiVar)
00211 {
00212         this->CommitedStrainLikeKiVar = xCommitedStrainLikeKiVar;
00213 }
00214 
00215 //---------------------------------------------------------------------------
00216 void FDEPState::setCommitedStressLikeKiVar(const stresstensor& xCommitedStressLikeKiVar)
00217 {
00218         this->CommitedStressLikeKiVar = xCommitedStressLikeKiVar;
00219 }
00220 
00221 //----------------------------------------------------------------------
00222 int FDEPState::commitState(void)
00223 {
00224         CommitedFpInVar = FpInVar;
00225         CommitedStressLikeInVar = StressLikeInVar;
00226         CommitedStrainLikeInVar = StrainLikeInVar;
00227         CommitedStressLikeKiVar = StressLikeKiVar;
00228         CommitedStrainLikeKiVar = StrainLikeKiVar;
00229 
00230         return 0;
00231 }
00232 
00233 //----------------------------------------------------------------------
00234 int FDEPState::revertToLastCommit(void)
00235 {
00236         FpInVar = CommitedFpInVar;
00237         StressLikeInVar = CommitedStressLikeInVar;
00238         StrainLikeInVar = CommitedStrainLikeInVar;
00239         StressLikeKiVar = CommitedStressLikeKiVar;
00240         StrainLikeKiVar = CommitedStrainLikeKiVar;
00241 
00242         return 0;
00243 }
00244 
00245 //----------------------------------------------------------------------
00246 int FDEPState::revertToStart(void)
00247 {
00248         tensor tI2("I", 2, def_dim_2);
00249         tensor t00(2, def_dim_2, 0.0);
00250 
00251         FpInVar = tI2;
00252         StressLikeInVar = 0.0;
00253         StrainLikeInVar = 0.0;
00254         StressLikeKiVar = t00;
00255         StrainLikeKiVar = t00;
00256 
00257         CommitedFpInVar = tI2;
00258         CommitedStressLikeInVar = 0.0;
00259         CommitedStrainLikeInVar = 0.0;
00260         CommitedStressLikeKiVar = t00;
00261         CommitedStrainLikeKiVar = t00;
00262 
00263         return 0;
00264 }
00265 
00266 # endif
00267 
00268 
00269 
00270 
00271 
00272 
00273 

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