![]() |
00001 // Copyright (C) 2004 Johan Hoffman and Anders Logg. 00002 // Licensed under the GNU GPL Version 2. 00003 00004 #ifndef __NEW_FEM_H 00005 #define __NEW_FEM_H 00006 00007 #include <dolfin/NewArray.h> 00008 00009 namespace dolfin 00010 { 00011 00012 class NewPDE; 00013 class Mesh; 00014 class Matrix; 00015 class Vector; 00016 00019 00020 class NewFEM 00021 { 00022 public: 00023 00025 static void assemble(NewPDE& pde, Mesh& mesh, Matrix& A, Vector& b); 00026 00028 static void assemble(NewPDE& pde, Mesh& mesh, Matrix& A); 00029 00031 static void assemble(NewPDE& pde, Mesh& mesh, Vector& b); 00032 00033 private: 00034 00036 static void assembleInterior (NewPDE& pde, Mesh& mesh, Matrix& A); 00037 static void assembleBoundary (NewPDE& pde, Mesh& mesh, Matrix& A); 00038 static void assembleBoundaryTri (NewPDE& pde, Mesh& mesh, Matrix& A); 00039 static void assembleBoundaryTet (NewPDE& pde, Mesh& mesh, Matrix& A); 00040 00042 static void assembleInterior (NewPDE& pde, Mesh& mesh, Vector& b); 00043 static void assembleBoundary (NewPDE& pde, Mesh& mesh, Vector& b); 00044 static void assembleBoundaryTri (NewPDE& pde, Mesh& mesh, Vector& b); 00045 static void assembleBoundaryTet (NewPDE& pde, Mesh& mesh, Vector& b); 00046 00048 static void alloc(const NewPDE& pde, Mesh& mesh, Matrix &A); 00049 00051 static void alloc(const NewPDE& pde, Mesh& mesh, Vector& b); 00052 00054 static void alloc(const NewPDE& pde, real**& A); 00055 00057 static void alloc(const NewPDE& pde, NewArray<real>& b); 00058 00060 static void setBC(const NewPDE& pde, Mesh& mesh, Matrix& A); 00061 static void setBC(const NewPDE& pde, Mesh& mesh, Vector& b); 00062 00063 }; 00064 00065 } 00066 00067 #endif
Documentation automatically generated with Doxygen on 10 Sep 2004.