ML
Version of the Day
|
#include <ml_aggregate.h>
definition of the aggregate structure
int* ML_Aggregate_Struct::aggr_count |
no. aggregates at each level
int** ML_Aggregate_Struct::aggr_info |
node to aggregate map
void* ML_Aggregate_Struct::aggr_options |
option about METIS and ParMETIS
void* ML_Aggregate_Struct::aggr_viz_and_stats |
information about the aggregates only if the user explicitely < requires them
int ML_Aggregate_Struct::attach_scheme |
aggregate shape control
int ML_Aggregate_Struct::begin_level |
finest grid level
int ML_Aggregate_Struct::block_scaled_SA |
= 1 indicates that the prolongator smoother should use block diagonal scaling (blocksize = num_PDE_eqns)
int ML_Aggregate_Struct::coarsen_partial_dirichlet_dofs |
interpolate Dirichlet directions in multiple PDEs per node case
int ML_Aggregate_Struct::coarsen_scheme |
Uncoupled, Coupled, MIS
int ML_Aggregate_Struct::cur_level |
temporary variable
double ML_Aggregate_Struct::curr_threshold |
adjusted for levels
int ML_Aggregate_Struct::do_qr |
should we do a qr?
double ML_Aggregate_Struct::drop_tol_for_smoothing |
self-explanatory
double ML_Aggregate_Struct::fine_complexity |
nnz of the finest A
int ML_Aggregate_Struct::keep_agg_information |
1: keep aggr_info otherwise: free it
int ML_Aggregate_Struct::keep_P_tentative |
keeping tentative prolongator
int ML_Aggregate_Struct::max_coarse_size |
maximum size of coarsest grid
int ML_Aggregate_Struct::max_levels |
maximum number of levels
int ML_Aggregate_Struct::max_neigh_already_selected |
complexity control
int ML_Aggregate_Struct::min_nodes_per_aggregate |
aggregate size control
double** ML_Aggregate_Struct::nodal_coord |
Coordinates of fine-grid nodes
and aggregates
int ML_Aggregate_Struct::nullspace_corrupted |
indicates whether fine grid nullspace has been overwritten
int ML_Aggregate_Struct::nullspace_dim |
self-explanatory
double* ML_Aggregate_Struct::nullspace_vect |
for null space vectors
int ML_Aggregate_Struct::num_PDE_eqns |
block size
int ML_Aggregate_Struct::nvblocks |
for variable blocks (finest)
double ML_Aggregate_Struct::operator_complexity |
sum of nnz for all A's
int ML_Aggregate_Struct::ordering |
natural, random, graph
struct ML_Operator_Struct** ML_Aggregate_Struct::P_tentative |
so it can be reused later.
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
int ML_Aggregate_Struct::Restriction_smoothagg_transpose |
smoothed aggregation on A^T
double ML_Aggregate_Struct::rowsum_threshold |
for dropping sub-CFL rows in reaction-diffusion
int ML_Aggregate_Struct::smooth_existing_P_tentative |
already have P tent, don't create it
double ML_Aggregate_Struct::smoothP_damping_factor |
for prolongator smoother
int* ML_Aggregate_Struct::smoothP_damping_sweeps |
#prolongator smoother sweeps
int ML_Aggregate_Struct::smoothP_type |
point, block
double ML_Aggregate_Struct::threshold |
for pruning matrix
int ML_Aggregate_Struct::use_transpose |
Used to build restriction by doing
void* ML_Aggregate_Struct::vblock_data |
holds data structure aggr_vblock
int* ML_Aggregate_Struct::vblock_info |
for variable blocks (finest)