/usr/include/trilinos/ml_agg_reitzinger.h is in libtrilinos-ml-dev 12.10.1-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | /* ******************************************************************** */
/* See the file COPYRIGHT for a complete copyright notice, contact */
/* person and disclaimer. */
/* ******************************************************************** */
/* ******************************************************************** */
/* Declaration of the ML_Operator structure */
/* ******************************************************************** */
/* Author : Charles Tong (LLNL) and Raymond Tuminaro (SNL) */
/* Date : March, 1999 */
/* ******************************************************************** */
#ifndef __MLAGGREITZINGER__
#define __MLAGGREITZINGER__
#include "ml_common.h"
#include "ml_defs.h"
#include "ml_mat_formats.h"
#include "ml_agg_genP.h"
#include "ml_op_utils.h"
#include "ml_operator_blockmat.h"
#include "ml_utils.h"
/* ******************************************************************** */
/* ******************************************************************** */
/* User Interface Proto-types */
/* ******************************************************************** */
/* ******************************************************************** */
struct ml_linked_list {
struct ml_linked_list *next;
int duplicate_row;
};
#ifndef ML_CPP
#ifdef __cplusplus
extern "C" {
#endif
#endif
extern int ML_Gen_MGHierarchy_UsingReitzinger(ML *ml_edges, ML** ml_nodes,
int fine_level, int incr_or_decrease,
ML_Aggregate *ag,
ML_Operator **CurlCurl_array,
ML_Operator **MassMatrix_array,
ML_Operator *Tmat,
ML_Operator *Tmat_trans,
ML_Operator ***Tmat_array,
ML_Operator ***Tmat_trans_array,
double smooth_factor,
double enrich_beta,
double droptolPeEntries);
extern int ML_MGHierarchy_ReitzingerDestroy(int finest_level,
ML_Operator ***Tmat_array,
ML_Operator ***Tmat_trans_array);
extern int ML_Gen_Hierarchy_ComplexMaxwell(ML *ml_edges,
ML **newml, ML_Operator *M);
extern int ML_Gen_SmoothPnodal(ML *ml,int level, int clevel, void *data,
double smoothP_damping_factor,
ML_Operator *SPn_mat);
extern int ml_comp_Pe_entries(int coef_cols[], double coef_values[],
int coef_count, int leftagg,
struct ml_linked_list **Trecorder,
int *Trowcount, int *Tnzcount,
struct ML_CSR_MSRdata *Tcoarse,
int *Pnzcount, int Pe_columns[],
double Pe_values[]);
extern int ml_record_entry(struct ml_linked_list **Trecorder,int lower,
int therow);
extern int ml_dup_entry(int node1, int node2, struct ml_linked_list **Trecorder,
int Tcols[], int Trowptr[], int *lower, int *upper,
int *duplicate_row);
extern int ml_clean_Trecorder(struct ml_linked_list ***Trecorder ,int N);
extern int ml_leastsq_edge_interp(ML_Operator *Pn_mat, ML_Operator *SPn_mat,
ML_Operator *Tfine_mat, ML_Operator *Tcoarse_mat,
ML_Operator *Pe_mat, int);
void ML_Reitzinger_CheckCommutingProperty(ML *ml_nodes, ML *ml_edges,
ML_Operator **Tmat_array,
ML_Operator **Tmat_trans_array,
int finelevel, int coarselevel);
#ifndef ML_CPP
#ifdef __cplusplus
}
#endif
#endif
#endif
|