amg_mkb/amg/AMGMatrixUtilityFunctions.hpp File Reference

#include <petscksp.h>
#include "AMGRows.hpp"
#include "RowData.hpp"
#include "RowDataCollector.hpp"
#include "AMGMatrixUtilityFunctions.hpp"
#include <stdexcept>
Include dependency graph for AMGMatrixUtilityFunctions.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  filtered_row

Functions

bool isInCSet (PetscInt row_index, RowData *rowData, PetscInt first_row_in_range, PetscInt range_end, struct influenced_info *influenced_info_array)
PetscInt getColumnIndex (PetscInt row_index, RowData *rowData, PetscInt first_row_in_range, PetscInt range_end, struct influenced_info *influenced_info_array)
void increase_nonzero_number (int column_number_in_coarse, int row_number, int from_coarse_to_fine_ownership_column_begin, int from_coarse_to_fine_ownership_column_end, int *nondiagonal_nonzero_numbers, int *diagonal_nonzero_numbers)
bool isStrongDependenceWithinRange (PetscScalar value, PetscScalar row_min, PetscInt row_index, PetscInt column_index, PetscInt first_row_in_range, PetscInt range_end, double strength_threshold)
bool isStrongDependence (PetscScalar value, PetscScalar row_min, PetscInt row_index, PetscInt column_index, double strength_threshold)
bool isInFSetOutOfRange (PetscInt row_index, RowData *rowData, PetscInt first_row_in_range, PetscInt range_end, struct influenced_info *influenced_info_array)
PetscScalar getMin (const PetscScalar *values, PetscInt size, PetscInt row_index, const PetscInt *columns, int first_row_in_range, int range_end)
bool isGeneralStrongDependenceWithinRange (PetscScalar value, PetscScalar row_min, PetscInt row_index, PetscInt column_index, PetscInt first_row_in_range, PetscInt range_end, double strength_threshold)
bool isGeneralStrongDependence (PetscScalar value, PetscScalar row_min, PetscInt row_index, PetscInt column_index, double strength_threshold)
PetscScalar getExtremalValue (const PetscScalar *values, PetscInt size, PetscInt row_index, const PetscInt *columns, int first_row_in_range, int range_end)
void getFilteredRow (Mat mat, int row_number, filtered_row *row)
void restoreFilteredRow (Mat mat, int row_number, filtered_row *row)

Variables

int max_unfiltered_row_size
double value_filter_threshold

Function Documentation

PetscInt getColumnIndex ( PetscInt  row_index,
RowData rowData,
PetscInt  first_row_in_range,
PetscInt  range_end,
struct influenced_info influenced_info_array 
)

Here is the call graph for this function:

Here is the caller graph for this function:

PetscScalar getExtremalValue ( const PetscScalar *  values,
PetscInt  size,
PetscInt  row_index,
const PetscInt *  columns,
int  first_row_in_range,
int  range_end 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void getFilteredRow ( Mat  mat,
int  row_number,
filtered_row row 
)

Here is the caller graph for this function:

PetscScalar getMin ( const PetscScalar *  values,
PetscInt  size,
PetscInt  row_index,
const PetscInt *  columns,
int  first_row_in_range,
int  range_end 
)

Here is the caller graph for this function:

void increase_nonzero_number ( int  column_number_in_coarse,
int  row_number,
int  from_coarse_to_fine_ownership_column_begin,
int  from_coarse_to_fine_ownership_column_end,
int *  nondiagonal_nonzero_numbers,
int *  diagonal_nonzero_numbers 
)

Here is the caller graph for this function:

bool isGeneralStrongDependence ( PetscScalar  value,
PetscScalar  row_min,
PetscInt  row_index,
PetscInt  column_index,
double  strength_threshold 
)

Here is the call graph for this function:

Here is the caller graph for this function:

bool isGeneralStrongDependenceWithinRange ( PetscScalar  value,
PetscScalar  row_min,
PetscInt  row_index,
PetscInt  column_index,
PetscInt  first_row_in_range,
PetscInt  range_end,
double  strength_threshold 
)

Here is the call graph for this function:

Here is the caller graph for this function:

bool isInCSet ( PetscInt  row_index,
RowData rowData,
PetscInt  first_row_in_range,
PetscInt  range_end,
struct influenced_info influenced_info_array 
)

Here is the call graph for this function:

Here is the caller graph for this function:

bool isInFSetOutOfRange ( PetscInt  row_index,
RowData rowData,
PetscInt  first_row_in_range,
PetscInt  range_end,
struct influenced_info influenced_info_array 
)

Here is the call graph for this function:

bool isStrongDependence ( PetscScalar  value,
PetscScalar  row_min,
PetscInt  row_index,
PetscInt  column_index,
double  strength_threshold 
)

Here is the caller graph for this function:

bool isStrongDependenceWithinRange ( PetscScalar  value,
PetscScalar  row_min,
PetscInt  row_index,
PetscInt  column_index,
PetscInt  first_row_in_range,
PetscInt  range_end,
double  strength_threshold 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void restoreFilteredRow ( Mat  mat,
int  row_number,
filtered_row row 
)

Here is the caller graph for this function:


Variable Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 3 Jun 2020 for ModFEM by  doxygen 1.6.1