A couple utility methods for the Moertel package. More...
#include <ctime>
#include <iostream>
#include "Teuchos_RCP.hpp"
#include <Epetra_Comm.h>
#include <Epetra_SerialComm.h>
#include "Epetra_SerialDenseMatrix.h"
#include "Epetra_SerialDenseSolver.h"
#include "Epetra_CrsMatrix.h"
#include "Epetra_Vector.h"
#include "Epetra_Export.h"
#include "ml_common.h"
#include "ml_include.h"
#include "ml_epetra_utils.h"
#include "ml_epetra.h"
#include "ml_epetra_operator.h"
#include "mrtr_segment.H"
#include "mrtr_functions.H"
#include "mrtr_node.H"
#include "mrtr_point.H"
Namespaces | |
MOERTEL | |
MOERTEL: namespace of the Moertel package. | |
Functions | |
MOERTEL::Function * | MOERTEL::AllocateFunction (MOERTEL::Function::FunctionType type, int out) |
Allocate a function of the correct type. More... | |
MOERTEL::Segment * | MOERTEL::AllocateSegment (int type, int out) |
Allocate a Segment of the correct type. More... | |
bool | MOERTEL::cross (double *out, const double *g1, const double *g2) |
Cross product. More... | |
double | MOERTEL::dot (const double *g1, const double *g2, const int dim) |
Dot product. More... | |
double | MOERTEL::length (const double *g, const int dim) |
Length of a vector. More... | |
bool | MOERTEL::solve22 (const double A[][2], double *x, const double *b) |
Solve dense 2x2 system of equations. More... | |
bool | MOERTEL::solve33 (const double A[][3], double *x, const double *b) |
Solve dense 3x3 system of equations. More... | |
int | MOERTEL::digit_ten (int i) |
Return the '10' digit from an integer number. | |
void | MOERTEL::sort (double *dlist, int N, int *list2) |
Sort dlist of length N in ascending, sort list2 according to dlist. More... | |
template<typename kind > | |
void | MOERTEL::swap (kind &a, kind &b) |
Template to swap 2 <kind> instances. More... | |
int | MOERTEL::MatrixMatrixAdd (const Epetra_CrsMatrix &A, bool transposeA, double scalarA, Epetra_CrsMatrix &B, double scalarB) |
Add matrices A+B. More... | |
Epetra_CrsMatrix * | MOERTEL::MatMatMult (const Epetra_CrsMatrix &A, bool transA, const Epetra_CrsMatrix &B, bool transB, int outlevel) |
Multiply matrices A*B. More... | |
Epetra_CrsMatrix * | MOERTEL::PaddedMatrix (const Epetra_Map rowmap, double val, const int numentriesperrow) |
Allocate and return a matrix padded with val on the diagonal. FillComplete() is NOT called on exit. | |
Epetra_CrsMatrix * | MOERTEL::StripZeros (Epetra_CrsMatrix &A, double eps) |
Strip out values from a matrix below a certain tolerance. More... | |
bool | MOERTEL::SplitMatrix2x2 (Teuchos::RCP< Epetra_CrsMatrix > A, Teuchos::RCP< Epetra_Map > &A11rowmap, Teuchos::RCP< Epetra_Map > &A22rowmap, Teuchos::RCP< Epetra_CrsMatrix > &A11, Teuchos::RCP< Epetra_CrsMatrix > &A12, Teuchos::RCP< Epetra_CrsMatrix > &A21, Teuchos::RCP< Epetra_CrsMatrix > &A22) |
split a matrix into a 2x2 block system where the rowmap of one of the blocks is given More... | |
Epetra_Map * | MOERTEL::SplitMap (const Epetra_Map &Amap, const Epetra_Map &Agiven) |
split a rowmap of matrix A More... | |
bool | MOERTEL::SplitVector (const Epetra_Vector &x, const Epetra_Map &x1map, Epetra_Vector *&x1, const Epetra_Map &x2map, Epetra_Vector *&x2) |
split a vector into 2 non-overlapping pieces | |
bool | MOERTEL::MergeVector (const Epetra_Vector &x1, const Epetra_Vector &x2, Epetra_Vector &xresult) |
merge results from 2 vectors into one (assumes matching submaps) | |
bool | MOERTEL::Print_Matrix (std::string name, Epetra_CrsMatrix &A, int ibase) |
Print matrix to file. More... | |
bool | MOERTEL::Print_Graph (std::string name, Epetra_CrsGraph &A, int ibase) |
Print graph to file. More... | |
bool | MOERTEL::Print_Vector (std::string name, Epetra_Vector &v, int ibase) |
Print vector to file. More... | |
int | MOERTEL::ReportError (const std::stringstream &Message) |
Error reporting method. | |
A couple utility methods for the Moertel package.