Go to the documentation of this file.00001 #ifndef VIENNAFEM_LOG_INTERFACE_HPP
00002 #define VIENNAFEM_LOG_INTERFACE_HPP
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include <vector>
00019 #include "viennafem/forwards.h"
00020 #include "viennagrid/forwards.h"
00021 #include "viennagrid/domain.hpp"
00022 #include "viennagrid/segment.hpp"
00023 #include "viennagrid/iterators.hpp"
00024
00029 namespace viennafem
00030 {
00035 template <typename InterfaceType>
00036 class logger_interface
00037 {
00038 protected:
00039 typedef viennamath::rt_equation<InterfaceType> EquationType;
00040
00041 public:
00042 virtual void write_strong_form(std::vector<EquationType> const & pdes) = 0;
00043 virtual void write_weak_form(std::vector<EquationType> const & pdes) = 0;
00044 virtual void write_coordinated_weak_form(std::vector<EquationType> const & pdes) = 0;
00045 virtual void write_transformed_weak_form(std::vector<EquationType> const & pdes) = 0;
00046 virtual void write_test_and_trial_space(std::vector<viennamath::expr> const & test_space,
00047 std::vector<viennamath::expr> const & trial_space) = 0;
00048
00049 };
00050
00051 }
00052
00053 #endif