tools.h

Go to the documentation of this file.
00001 //Tools
00002 #ifndef _baerbel_tools_h
00003 #define _baerbel_tools_h
00004 
00005 #include <lac/full_matrix.h>
00006 #include <multigrid/mg_dof_handler.h>
00007 
00008 #include "myfunctions.h"
00009 
00010 using namespace dealii;
00011 
00018 template <int dim>
00019 class Tools 
00020 {
00021   public:
00022     Tools ();
00023 
00029     static void   
00030       interpolate_boundary_values (
00031           const DoFHandler<dim>            &dof,
00032           const unsigned char              boundary_component,
00033           std::map<unsigned int,double>    &boundary_values,
00034           const MyFunction<dim>            &boundary_function,   
00035           bool                             normal_derivative = false,   
00036           const std::vector<bool>          &component_mask_ = std::vector<bool>());
00037 
00038     //static void   
00039     //  interpolate_boundary_values (
00040     //      const DoFHandler<dim>         &dof,
00041     //      const unsigned char           boundary_component,
00042     //      std::map<unsigned int,double> &boundary_values,
00043     //      double                        value = 0,   
00044     //      bool                          normal_derivative = false,   
00045     //      const std::vector<bool>       &component_mask_ = std::vector<bool>());
00046 
00053     static void   
00054       make_boundary_list (
00055           const MGDoFHandler<dim>              &dof,
00056           const unsigned char                  boundary_component,
00057           std::vector<std::set<unsigned int> > &boundary_values,
00058           bool                                 normal_derivative = false,   
00059           const std::vector<bool>              &component_mask_ = std::vector<bool>());
00060 
00061     template <class DOFHANDLER, class ITERATOR> 
00062       static void compute_cell_terms (
00063           const DOFHANDLER              &dof,
00064           ITERATOR                      &cell, 
00065           FullMatrix<double>            &cell_matrix, 
00066           Vector<double>                &cell_rhs);
00067     
00068     template <class DOFHANDLER, class ITERATOR>
00069       static void compute_inner_jumps (
00070           const DOFHANDLER              &dof,
00071           ITERATOR                      &cell,
00072           unsigned int                  face_nr,
00073           FullMatrix<double>            &int_int, 
00074           FullMatrix<double>            &int_ext, 
00075           FullMatrix<double>            &ext_int,
00076           FullMatrix<double>            &ext_ext);
00077     
00078     template <class DOFHANDLER, class ITERATOR>
00079       static void compute_jumps_on_boundary (
00080           const DOFHANDLER              &dof,
00081           ITERATOR                      &cell, 
00082           unsigned int                  face_nr,
00083           FullMatrix<double>            &int_int);
00084   
00085 };
00086 
00087 #endif //_baerbel_tools_h

Generated on Thu Oct 9 14:52:44 2008 for Additional Finite Elements for deal.II by  doxygen 1.5.3