Mentions légales du service

Skip to content
Snippets Groups Projects
Commit e09d1586 authored by FELŠÖCI Marek's avatar FELŠÖCI Marek
Browse files

Remove HMAT option for using HODLR storage

parent a29774c0
No related branches found
No related tags found
No related merge requests found
......@@ -45,12 +45,6 @@ extern ScalarType stype;
/*! \brief Wavelength (for oscillatory kernels). */
extern double lambda;
/*! \brief Flag to use HODLR storage and algorithms (default is 0).
It can be changed with "--hodlr" (read in readFlagsTestHMAT() in hmat.c)
*/
extern int use_hodlr;
/*! \brief User context for building MPF matrices and vectors in testMPF */
typedef struct {
/*! \brief Pointer on the data used to assembly Mat/vec with computeDenseBlockRHS() */
......@@ -109,7 +103,6 @@ void computeDenseBlockFEMBEM_Cprec(int *LigInf, int *LigSup, int *ColInf, int *C
void prepare_hmat(int, int, int, int, int*, int*, int*, int*, void*, hmat_block_info_t *);
void advanced_compute_hmat(struct hmat_block_compute_context_t*);
int init_hmat_interface() ;
int readFlagsTestHMAT(int *argc, char ***argv) ;
#ifdef HAVE_HMAT
struct HMAT_desc_s;
......
......@@ -19,16 +19,6 @@ int init_hmat_interface() {
return 0;
}
int readFlagsTestHMAT(int *argc, char ***argv) {
/* Flag to use HODLR storage and algorithms */
if (MpfArgHasName(argc, *argv, 1, "--hodlr")) {
use_hodlr=1;
printf("Using HODLR\n") ;
}
return 0;
}
/* Simple assembly function, as needed by hmat */
void interactionKernel(void* user_context, int i, int j, void* result) {
int ierr;
......@@ -349,14 +339,11 @@ HMAT_desc_t *HMAT_generate_matrix( hmat_interface_t *hi ) {
/* Create the H-matrix with this cluster tree and an admissibility criteria */
hmat_admissibility_t *admissibilityCondition;
if (use_hodlr)
admissibilityCondition = hmat_create_admissibility_hodlr();
else {
hmat_admissibility_param_t admissibility_param;
hmat_init_admissibility_param(&admissibility_param);
admissibility_param.eta = 3.0;
admissibilityCondition = hmat_create_admissibility(&admissibility_param);
}
hmat_admissibility_param_t admissibility_param;
hmat_init_admissibility_param(&admissibility_param);
admissibility_param.eta = 3.0;
admissibilityCondition = hmat_create_admissibility(&admissibility_param);
// hmat_admissibility_t *admissibilityCondition = hmat_create_admissibility_standard(3.0);
hmat_matrix_t* hmatrix = hi->create_empty_hmatrix_admissibility(cluster_tree, cluster_tree, 1, admissibilityCondition);
......
......@@ -19,7 +19,6 @@ int simplePrec = 0;
int complexALGO = 1;
ScalarType stype = DOUBLE_COMPLEX;
double lambda;
int use_hodlr = 0;
/*! \brief Main routine
\return 0 for success
......@@ -39,8 +38,6 @@ int main(int argc, char **argv) {
/* ------------------------------------------------------------------------- */
ierr=SCAB_Init(&argc, &argv) ; CHKERRQ(ierr) ;
ierr=readFlagsTestHMAT(&argc, &argv) ; CHKERRQ(ierr) ;
ierr = init_hmat_interface(); CHKERRQ(ierr);
/* ------------------------------------------------------------------------- */
......
......@@ -32,12 +32,8 @@ int testHMAT(double * relative_error) {
// hmat_factorization_none mean the user did not chose a factorization so we
// must choose one for him
if(mpf_hmat_settings.factorization_type == hmat_factorization_none) {
if (use_hodlr) {
mpf_hmat_settings.factorization_type = hmat_factorization_hodlrsym;
} else {
// use LDLT for real matrices
mpf_hmat_settings.factorization_type = complexALGO ? hmat_factorization_llt : hmat_factorization_ldlt;
}
// use LDLT for real matrices
mpf_hmat_settings.factorization_type = complexALGO ? hmat_factorization_llt : hmat_factorization_ldlt;
}
HMAT_desc_t *hdesc;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment