Go to the documentation of this file.00001 #ifndef VIENNAFEM_LOG_API_HPP
00002 #define VIENNAFEM_LOG_API_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
00025 #include "viennafem/log/latex.hpp"
00026
00031 namespace viennafem
00032 {
00034 template <typename PDESystem>
00035 void log_strong_form(PDESystem const & pde_system)
00036 {
00037 pde_system.logger().write_strong_form(pde_system.pdes());
00038 }
00039
00041 template <typename EquationArray, typename PDESystem>
00042 void log_weak_form(EquationArray const & weak_form, PDESystem const & pde_system)
00043 {
00044 pde_system.logger().write_weak_form(weak_form);
00045 }
00046
00048 template <typename EquationArray, typename PDESystem>
00049 void log_coordinated_weak_form(EquationArray const & weak_form, PDESystem const & pde_system)
00050 {
00051 pde_system.logger().write_coordinated_weak_form(weak_form);
00052 }
00053
00055 template <typename CellType, typename EquationArray, typename PDESystem>
00056 void log_transformed_weak_form(EquationArray const & weak_form, PDESystem const & pde_system)
00057 {
00058
00059
00060 pde_system.logger().translator().add_processor(new rt_latex_dt_dx_processor<CellType, viennamath::default_interface_type>());
00061
00062 pde_system.logger().write_transformed_weak_form(weak_form);
00063 }
00064
00066 template <typename EquationArray, typename PDESystem>
00067 void log_test_and_trial_space(EquationArray const & test_space,
00068 EquationArray const & trial_space,
00069 PDESystem const & pde_system)
00070 {
00071 pde_system.logger().write_test_and_trial_space(test_space, trial_space);
00072 }
00073
00074
00075
00076
00077
00078
00079
00080 }
00081
00082 #endif