From 157810ea31eb1a75ab410169b491acbc8360510a Mon Sep 17 00:00:00 2001 From: mirok Date: Mon, 12 Sep 2022 17:10:05 +0200 Subject: [PATCH] control tolerance in RA --- block/algebraic/hazmath/precond.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/block/algebraic/hazmath/precond.py b/block/algebraic/hazmath/precond.py index a5d5877..b9810f8 100644 --- a/block/algebraic/hazmath/precond.py +++ b/block/algebraic/hazmath/precond.py @@ -388,6 +388,10 @@ def __init__(self, A, M, parameters=None): # set extra amg parameters parameters = parameters if (parameters and isinstance(parameters, dict)) \ else {'coefs': [1.0, 0.0], 'pwrs': [0.5, 0.0]} + # Overwrite default accuracy in RA + ra_tol = parameters.get('AAA_tol', 1E-10) + parameters['AAA_tol'] = ra_tol + haznics.param_amg_set_dict(parameters, amgparam) # print (relevant) amg parameters @@ -404,7 +408,7 @@ def __init__(self, A, M, parameters=None): # set RA preconditioner # precond = haznics.create_precond_ra(A_ptr, M_ptr, s_power, t_power, alpha, beta, scaling_a, scaling_m, - amgparam) + ra_tol, amgparam) # if fail, setup returns null if not precond: