$extrastylesheet
fem_physics.h
Go to the documentation of this file.
00001 
00002 // The libMesh Finite Element Library.
00003 // Copyright (C) 2002-2014 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner
00004 
00005 // This library is free software; you can redistribute it and/or
00006 // modify it under the terms of the GNU Lesser General Public
00007 // License as published by the Free Software Foundation; either
00008 // version 2.1 of the License, or (at your option) any later version.
00009 
00010 // This library is distributed in the hope that it will be useful,
00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013 // Lesser General Public License for more details.
00014 
00015 // You should have received a copy of the GNU Lesser General Public
00016 // License along with this library; if not, write to the Free Software
00017 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00018 
00019 
00020 
00021 #ifndef LIBMESH_FEM_PHYSICS_H
00022 #define LIBMESH_FEM_PHYSICS_H
00023 
00024 // Local Includes
00025 #include "libmesh/libmesh.h" // for libMesh::invalid_uint
00026 #include "libmesh/diff_physics.h"
00027 
00028 // C++ includes
00029 
00030 namespace libMesh
00031 {
00032 
00045 // ------------------------------------------------------------
00046 // Finite Element Method Physics class definition
00047 
00048 class FEMPhysics : public virtual DifferentiablePhysics
00049 {
00050 public:
00051 
00055   FEMPhysics () :
00056     DifferentiablePhysics()
00057   {}
00058 
00062   virtual ~FEMPhysics () {}
00063 
00078   virtual bool eulerian_residual (bool request_jacobian,
00079                                   DiffContext &context);
00080 
00095   virtual bool mass_residual (bool request_jacobian,
00096                               DiffContext &);
00097 };
00098 
00099 
00100 
00101 } // namespace libMesh
00102 
00103 
00104 #endif // LIBMESH_FEM_PHYSICS_H