vtf-logo

shells/driverCC/NewmarkFunctor.h

Go to the documentation of this file.
00001 // -*- C++ -*- 
00002 //
00003 // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00004 //
00005 //                                   Fehmi Cirak
00006 //                        California Institute of Technology
00007 //                           (C) 2004 All Rights Reserved
00008 //
00009 // <LicenseText>
00010 //
00011 // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00012 //
00013 #ifndef NEWMARKFUNCTOR_H
00014 #define NEWMARKFUNCTOR_H
00015 #include "../fem/definitions.h"
00016 
00017 #include <functional>
00018 
00019 
00020 namespace shells {
00021     class NewmarkPredictFunctor;
00022     class NewmarkCorrectFunctor;  
00023     struct SVertexS;
00024 } 
00025 
00026 
00027 class shells::NewmarkPredictFunctor : 
00028     public std::unary_function<shells::SVertexS *, void > {
00029 public:
00030     NewmarkPredictFunctor(const double& timeStep, const double& gamma=0.5);
00031     ~NewmarkPredictFunctor(){}
00032 
00033     void operator()(shells::SVertexS * const vtx);
00034     
00035 private:
00036     double     _timeStep;
00037     double     _coef1;
00038     double     _coef2;
00039 };
00040 
00041 
00042 
00043 class shells::NewmarkCorrectFunctor : 
00044     public std::unary_function<shells::SVertexS *, void > {
00045 public:
00046     NewmarkCorrectFunctor(const double& timeStep, 
00047                           const double& gamma=0.5, 
00048                           const double& damping=0.0);
00049     ~NewmarkCorrectFunctor(){}
00050 
00051     void operator()(shells::SVertexS * const vtx);
00052     
00053 private:
00054     double     _coef1;
00055     double     _damping;
00056 };
00057 
00058 #endif

Generated on Fri Aug 24 13:00:24 2007 for SFC Thin-Shell Finite Element Solver by  doxygen 1.4.7