ML Version of the Day
Loading...
Searching...
No Matches
ML_Aggregate_Struct Struct Reference

#include <ml_aggregate.h>

Collaboration diagram for ML_Aggregate_Struct:

Public Attributes

int ML_id
double print_flag
int max_coarse_size
int ordering
int min_nodes_per_aggregate
int max_neigh_already_selected
double threshold
double curr_threshold
double drop_tol_for_smoothing
int attach_scheme
double smoothP_damping_factor
int * smoothP_damping_sweeps
int smoothP_type
int coarsen_scheme
int * coarsen_scheme_level
int num_PDE_eqns
int nullspace_dim
double * nullspace_vect
int nullspace_corrupted
int * aggr_count
int keep_agg_information
int ** aggr_info
int max_levels
int begin_level
int cur_level
double operator_complexity
double fine_complexity
int nvblocks
int * vblock_info
int keep_P_tentative
struct ML_Operator_Struct ** P_tentative
int smooth_existing_P_tentative
int use_transpose
int Restriction_smoothagg_transpose
void * aggr_options
void * aggr_viz_and_stats
void * field_of_values
int block_scaled_SA
double phase3_agg_creation
double ** nodal_coord
int N_dimensions
void * vblock_data
int minimizing_energy
int cheap_minimizing_energy
double minimizing_energy_droptol
double * old_RowOmegas
int coarsen_rate
int semicoarsen_levels
char semicoarsen_coordinate
double rowsum_threshold
int do_qr
int coarsen_partial_dirichlet_dofs

Detailed Description

definition of the aggregate structure

Member Data Documentation

◆ aggr_count

int* ML_Aggregate_Struct::aggr_count

no. aggregates at each level

◆ aggr_info

int** ML_Aggregate_Struct::aggr_info

node to aggregate map

◆ aggr_options

void* ML_Aggregate_Struct::aggr_options

option about METIS and ParMETIS

◆ aggr_viz_and_stats

void* ML_Aggregate_Struct::aggr_viz_and_stats

information about the aggregates only if the user explicitely < requires them

◆ attach_scheme

int ML_Aggregate_Struct::attach_scheme

aggregate shape control

◆ begin_level

int ML_Aggregate_Struct::begin_level

finest grid level

◆ block_scaled_SA

int ML_Aggregate_Struct::block_scaled_SA

= 1 indicates that the prolongator smoother should use block diagonal scaling (blocksize = num_PDE_eqns)

◆ coarsen_partial_dirichlet_dofs

int ML_Aggregate_Struct::coarsen_partial_dirichlet_dofs

interpolate Dirichlet directions in multiple PDEs per node case

◆ coarsen_scheme

int ML_Aggregate_Struct::coarsen_scheme

Uncoupled, Coupled, MIS

◆ cur_level

int ML_Aggregate_Struct::cur_level

temporary variable

◆ curr_threshold

double ML_Aggregate_Struct::curr_threshold

adjusted for levels

◆ do_qr

int ML_Aggregate_Struct::do_qr

should we do a qr?

◆ drop_tol_for_smoothing

double ML_Aggregate_Struct::drop_tol_for_smoothing

self-explanatory

◆ fine_complexity

double ML_Aggregate_Struct::fine_complexity

nnz of the finest A

◆ keep_agg_information

int ML_Aggregate_Struct::keep_agg_information

1: keep aggr_info otherwise: free it

◆ keep_P_tentative

int ML_Aggregate_Struct::keep_P_tentative

keeping tentative prolongator

◆ max_coarse_size

int ML_Aggregate_Struct::max_coarse_size

maximum size of coarsest grid

◆ max_levels

int ML_Aggregate_Struct::max_levels

maximum number of levels

◆ max_neigh_already_selected

int ML_Aggregate_Struct::max_neigh_already_selected

complexity control

◆ min_nodes_per_aggregate

int ML_Aggregate_Struct::min_nodes_per_aggregate

aggregate size control

◆ nodal_coord

double** ML_Aggregate_Struct::nodal_coord

Coordinates of fine-grid nodes and aggregates

◆ nullspace_corrupted

int ML_Aggregate_Struct::nullspace_corrupted

indicates whether fine grid nullspace has been overwritten

◆ nullspace_dim

int ML_Aggregate_Struct::nullspace_dim

self-explanatory

◆ nullspace_vect

double* ML_Aggregate_Struct::nullspace_vect

for null space vectors

◆ num_PDE_eqns

int ML_Aggregate_Struct::num_PDE_eqns

block size

◆ nvblocks

int ML_Aggregate_Struct::nvblocks

for variable blocks (finest)

◆ operator_complexity

double ML_Aggregate_Struct::operator_complexity

sum of nnz for all A's

◆ ordering

int ML_Aggregate_Struct::ordering

natural, random, graph

◆ P_tentative

struct ML_Operator_Struct** ML_Aggregate_Struct::P_tentative

so it can be reused later.

◆ phase3_agg_creation

double ML_Aggregate_Struct::phase3_agg_creation

Steers how the MIS and Uncoupled handle phase 3 of aggregation. Values near 0 create few additional aggregates.Large values create many additional aggregates. Convergence can be improve convergence by new aggregates but nonzero fill-in increases on coarse meshes. Default: .5

◆ Restriction_smoothagg_transpose

int ML_Aggregate_Struct::Restriction_smoothagg_transpose

smoothed aggregation on A^T

◆ rowsum_threshold

double ML_Aggregate_Struct::rowsum_threshold

for dropping sub-CFL rows in reaction-diffusion

◆ smooth_existing_P_tentative

int ML_Aggregate_Struct::smooth_existing_P_tentative

already have P tent, don't create it

◆ smoothP_damping_factor

double ML_Aggregate_Struct::smoothP_damping_factor

for prolongator smoother

◆ smoothP_damping_sweeps

int* ML_Aggregate_Struct::smoothP_damping_sweeps

#prolongator smoother sweeps

◆ smoothP_type

int ML_Aggregate_Struct::smoothP_type

point, block

◆ threshold

double ML_Aggregate_Struct::threshold

for pruning matrix

◆ use_transpose

int ML_Aggregate_Struct::use_transpose

Used to build restriction by doing

◆ vblock_data

void* ML_Aggregate_Struct::vblock_data

holds data structure aggr_vblock

◆ vblock_info

int* ML_Aggregate_Struct::vblock_info

for variable blocks (finest)


The documentation for this struct was generated from the following file: