• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

NeohookeanModel.hpp

Go to the documentation of this file.
00001 //*****************************************************************//
00002 //    Albany 2.0:  Copyright 2012 Sandia Corporation               //
00003 //    This Software is released under the BSD license detailed     //
00004 //    in the file "license.txt" in the top-level Albany directory  //
00005 //*****************************************************************//
00006 
00007 #if !defined(LCM_NeohookeanModel_hpp)
00008 #define LCM_NeohookeanModel_hpp
00009 
00010 #include "Phalanx_ConfigDefs.hpp"
00011 #include "Phalanx_Evaluator_WithBaseImpl.hpp"
00012 #include "Phalanx_Evaluator_Derived.hpp"
00013 #include "Phalanx_MDField.hpp"
00014 #include "Albany_Layouts.hpp"
00015 #include "ConstitutiveModel.hpp"
00016 
00017 namespace LCM
00018 {
00019 
00021 template<typename EvalT, typename Traits>
00022 class NeohookeanModel: public LCM::ConstitutiveModel<EvalT, Traits>
00023 {
00024 public:
00025 
00026   typedef typename EvalT::ScalarT ScalarT;
00027   typedef typename EvalT::MeshScalarT MeshScalarT;
00028 
00029   using ConstitutiveModel<EvalT, Traits>::num_dims_;
00030   using ConstitutiveModel<EvalT, Traits>::num_pts_;
00031   using ConstitutiveModel<EvalT, Traits>::field_name_map_;
00032   using ConstitutiveModel<EvalT, Traits>::compute_energy_;
00033   using ConstitutiveModel<EvalT, Traits>::compute_tangent_;
00034 
00035   // optional temperature support
00036   using ConstitutiveModel<EvalT, Traits>::have_temperature_;
00037   using ConstitutiveModel<EvalT, Traits>::expansion_coeff_;
00038   using ConstitutiveModel<EvalT, Traits>::ref_temperature_;
00039   using ConstitutiveModel<EvalT, Traits>::heat_capacity_;
00040   using ConstitutiveModel<EvalT, Traits>::density_;
00041   using ConstitutiveModel<EvalT, Traits>::temperature_;
00042 
00046   NeohookeanModel(Teuchos::ParameterList* p,
00047       const Teuchos::RCP<Albany::Layouts>& dl);
00048 
00052   virtual
00053   ~NeohookeanModel()
00054   {};
00055 
00059   virtual
00060   void
00061   computeState(typename Traits::EvalData workset,
00062       std::map<std::string, Teuchos::RCP<PHX::MDField<ScalarT> > > dep_fields,
00063       std::map<std::string, Teuchos::RCP<PHX::MDField<ScalarT> > > eval_fields);
00064 
00065 private:
00066 
00070   NeohookeanModel(const NeohookeanModel&);
00071 
00075   NeohookeanModel& operator=(const NeohookeanModel&);
00076 
00077 };
00078 }
00079 
00080 #endif

Generated on Wed Mar 26 2014 18:36:40 for Albany: a Trilinos-based PDE code by  doxygen 1.7.1