diff --git a/dart/api/core.py b/dart/api/core.py index 63af776f8276ad5db87ce8b4cef8c6ebdd0dfd84..6476b4a5af6765695873f3d86f8ce26e17635b53 100644 --- a/dart/api/core.py +++ b/dart/api/core.py @@ -204,8 +204,6 @@ def init_dart(cfg, scenario='aerodynamic', task='analysis', viscous=False): _pbl.add(dart.Kutta(_msh, [cfg['Tes'][i], cfg['Wakes'][i]+'_', cfg['Wings'][i], cfg['Fluid']])) # add transpiration (blowing) boundary conditions if viscous: - if _dim != 2 or task != 'analysis': - raise RuntimeError('Viscous-inviscid interaction calculations are currently supported only for 2D analysis!\n') _blwb = dart.Blowing(_msh, cfg['Wing']) _blww = dart.Blowing(_msh, cfg['Wake']) _pbl.add(_blwb) @@ -223,6 +221,8 @@ def init_dart(cfg, scenario='aerodynamic', task='analysis', viscous=False): linsol = tbox.Mumps() elif cfg['LSolver'] == 'GMRES': linsol = tbox.Gmres(cfg.get('G_fill', 2), 1e-6, cfg.get('G_restart', 50), cfg.get('G_tol', 1e-5), 200) + elif cfg['LSolver'] == 'SparseLu': + linsol = tbox.SparseLu() else: raise RuntimeError('Available linear solvers: PARDISO, MUMPS or GMRES, but ' + cfg['LSolver'] + ' was given!\n') # initialize the nonlinear (outer) solver