Anasazi
Version of the Day
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
epetra
src
ModalAnalysisSolvers
CheckingTools.h
1
// @HEADER
2
// *****************************************************************************
3
// Anasazi: Block Eigensolvers Package
4
//
5
// Copyright 2004 NTESS and the Anasazi contributors.
6
// SPDX-License-Identifier: BSD-3-Clause
7
// *****************************************************************************
8
// @HEADER
9
10
// This software is a result of the research described in the report
11
//
12
// "A comparison of algorithms for modal analysis in the absence
13
// of a sparse direct method", P. Arbenz, R. Lehoucq, and U. Hetmaniuk,
14
// Sandia National Laboratories, Technical report SAND2003-1028J.
15
//
16
// It is based on the Epetra, AztecOO, and ML packages defined in the Trilinos
17
// framework ( http://trilinos.org/ ).
18
19
#ifndef CHECKING_TOOLS_H
20
#define CHECKING_TOOLS_H
21
22
#include "Epetra_ConfigDefs.h"
23
24
#include "Epetra_Comm.h"
25
#include "Epetra_LAPACK.h"
26
#include "Epetra_LocalMap.h"
27
#include "Epetra_Map.h"
28
#include "Epetra_MultiVector.h"
29
#include "Epetra_Operator.h"
30
#include "Epetra_Vector.h"
31
32
class
CheckingTools {
33
34
private
:
35
36
const
Epetra_Comm
&MyComm;
37
38
public
:
39
40
CheckingTools(
const
Epetra_Comm
&_Comm);
41
42
double
errorOrthogonality(
const
Epetra_MultiVector
*X,
const
Epetra_MultiVector
*R,
43
const
Epetra_Operator
*M = 0)
const
;
44
45
double
errorOrthonormality(
const
Epetra_MultiVector
*X,
const
Epetra_Operator
*M = 0)
const
;
46
47
double
errorEquality(
const
Epetra_MultiVector
*X,
const
Epetra_MultiVector
*MX,
48
const
Epetra_Operator
*M = 0)
const
;
49
50
int
errorSubspaces(
const
Epetra_MultiVector
&Q,
const
Epetra_MultiVector
&Qex,
51
const
Epetra_Operator
*M)
const
;
52
53
void
errorEigenResiduals(
const
Epetra_MultiVector
&Q,
double
*lambda,
54
const
Epetra_Operator
*K,
const
Epetra_Operator
*M,
55
double
*normWeight = 0)
const
;
56
57
void
errorEigenResiduals(
const
Epetra_MultiVector
&Q,
double
*lambda,
58
const
Epetra_Operator
*K,
const
Epetra_Operator
*M,
59
const
Epetra_Operator
*Msolver)
const
;
60
61
int
errorLambda(
double
*continuous,
double
*discrete,
int
numDiscrete,
double
*lambda,
62
int
nev)
const
;
63
64
int
inputArguments(
const
int
&numEigen,
const
Epetra_Operator
*K,
65
const
Epetra_Operator
*M,
const
Epetra_Operator
*P,
66
const
Epetra_MultiVector
&Q,
const
int
&minSize)
const
;
67
68
};
69
70
71
#endif
Epetra_MultiVector
Epetra_Comm
Epetra_Operator
Generated on Fri Jul 25 2025 09:18:08 for Anasazi by
1.8.5