00001 #ifndef NS_SUPG_MATRIX_UTIL_H
00002 #define NS_SUPG_MATRIX_UTIL_H
00003
00004 #include <petscksp.h>
00005
00006 Mat create_exact_schur_complement(Mat* schur_complement, Mat Avp, Mat Avv, Mat Apv, Mat App);
00007 Mat create_velocity_exact_inverse(Mat* velocity_inverse, Mat Avv, Vec bvp);
00008 Mat create_velocity_ilu_inverse(KSP* preonly_solver, Mat Avv);
00009 Mat create_velocity_mass_inverse(Mat Vmm, Vec bvp);
00010 void draw_matrix(Mat mat, double threshold);
00011 Mat restrict_matrix(Mat mat, double threshold);
00012 void print_sym_difference(Mat mat);
00013 void print_positive_to_negative(Mat mat);
00014
00015
00016 #endif