Skip to content
Snippets Groups Projects
Verified Commit 50f0e0d2 authored by Paul Dechamps's avatar Paul Dechamps :speech_balloon:
Browse files

(feat) Add the ability to perform 3D VII computations and (feat) Added sparseLu solver in the API

The error raised at runtime is removed to allow the creation of blowing elements in 3D computations. SparseLu is another direct solver that does not require IntelMKL
parent 6daffc24
No related branches found
No related tags found
No related merge requests found
Pipeline #49838 passed
......@@ -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
......
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