Git Product home page Git Product logo

imperialcollegelondon / sharpy Goto Github PK

View Code? Open in Web Editor NEW
117.0 19.0 56.0 61.55 MB

Simulation of High Aspect Ratio aeroplanes and wind turbines in Python: a nonlinear aeroelastic code

Home Page: https://imperial.ac.uk/aeroelastics/sharpy

License: BSD 3-Clause "New" or "Revised" License

Python 99.92% Shell 0.03% Dockerfile 0.05% CMake 0.01%
aeroelasticity simulation aeronautics structures structural-dynamics wind-turbines

sharpy's Introduction

Simulation of High Aspect Ratio aeroplanes in Python [SHARPy]

Version badge Build Status Documentation Status codecov License status DOI

SHARPy is a nonlinear aeroelastic analysis package originally developed at the Department of Aeronautics, Imperial College London. It can be used for the structural, aerodynamic and aeroelastic analysis of flexible wings, aircraft and wind turbines. It is shared here under a BSD 3-Clause permissive license.

XHALE

Contact

For more information on the research team developing SHARPy or to get in touch, visit our homepage.

Physical Models

SHARPy is a modular aeroelastic solver that currently uses two specific models for the structural and aerodynamic response of the system.

For the structural model, SHARPy employs a geometrically-exact displacement-based composite beam formulation, augmented with Lagrange multipliers for additional kinematic constraints. This model has the advantage of providing the solution directly in the physical problem's degrees of freedom, making the coupling with the aerodynamic solver simple and not requiring any post-processing. The 1D beam formulation used limits the analyses that can be done by SHARPy to slender structures, such as high aspect ratio wings.

The aerodynamic model utilises the Unsteady Vortex Lattice Method (UVLM). The aerodynamic surfaces are modelled as a thin vortex ring lattice with the boundary conditions enforced at the collocation points in the middle of the vortex rings. The Kutta condition is also enforced at the trailing edge. The wake can be simulated by either additional vortex rings or by infinitely long horseshoe vortices, which are ideally suited for steady simulations only.

The aerodynamic model has recently been extended by a linear source panel method (SPM) to model nonlifting bodies for example fuselages. The SPM and UVLM can be coupled to model fuselage-wing configuration and a junction handling approach, based on phantom panels and circulation interpolation, has been added.

The input problems can be structural, aerodynamic or coupled, yielding an aeroelastic system.

The base solver SHARPy is a nonlinear aeroelastic analysis package that can be used on free-flying flexible aircraft, wings and wind turbines. In addition, it supports linearisation of these nonlinear systems about arbitrary conditions and includes various tools such as: model reduction or frequency analysis.

In short, SHARPy offers (amongst others) the following solutions to the user:

  • Static aerodynamic, structural and aeroelastic solutions including fuselage effects
  • Finding trim conditions for aeroelastic configurations
  • Nonlinear, dynamic time domain simulations under a large number of conditions such as:
    • Prescribed trajectories.
    • Free flight.
    • Dynamic follower forces.
    • Control inputs in thrust, control surface deflection...
    • Arbitrary time-domain gusts, including non span-constant ones.
    • Full 3D turbulent fields.
  • Multibody dynamics with hinges, articulations and prescribed nodal motions:
    • Applicable to wind turbines.
    • Hinged aircraft.
    • Catapult assisted takeoffs.
  • Linear analysis:
    • Linearisation around a nonlinear equilibrium.
    • Frequency response analysis.
    • Asymptotic stability analysis.
  • Model order reduction:
    • Krylov-subspace reduction methods.
    • Several balancing reduction methods.

Documentation

The documentation for SHARPy can be found here.

Installing SHARPy

For the latest documentation, see the installation docs.

SHARPy can also be obtained from Docker Hub to avoid compilation and platform-dependant issues. If you are interested, make sure you check the SHARPy Docker distribution docs.

Contributing and Bug reports

If you think you can add a useful feature to SHARPy, want to write documentation or you encounter a bug, by all means, check out the collaboration guide.

Citing SHARPy

SHARPy has been published in the Journal of Open Source Software (JOSS) and the relevant paper can be found here.

If you are using SHARPy for your work, please remember to cite it using the paper in JOSS as:

del Carre et al., (2019). SHARPy: A dynamic aeroelastic simulation toolbox for very flexible aircraft and wind turbines. Journal of Open Source Software, 4(44), 1885, https://doi.org/10.21105/joss.01885

The bibtex entry for this citation is:

@Article{delCarre2019,
doi = {10.21105/joss.01885},
url = {https://doi.org/10.21105/joss.01885},
year = {2019},
month = dec,
publisher = {The Open Journal},
volume = {4},
number = {44},
pages = {1885},
author = {Alfonso del Carre and Arturo Mu{\~{n}}oz-Sim\'on and Norberto Goizueta and Rafael Palacios},
title = {{SHARPy}: A dynamic aeroelastic simulation toolbox for very flexible aircraft and wind turbines},
journal = {Journal of Open Source Software}
}

Continuous Integration Status

SHARPy uses Continuous Integration to control the integrity of its code. The status in the release and develop branches is:

Main Build Status Docker Status

Develop Build Status

sharpy's People

Contributors

acea15 avatar antoniowr avatar arturoms13 avatar bbahiam avatar ben-l-p avatar boltyboi avatar davidanderegg avatar eriklyy avatar fonsocarre avatar kccwing avatar keisukeotsuka79 avatar nacho-carnicero avatar ngoiz avatar outoforderdev avatar petebachant avatar rafapalacios avatar rafmudaf avatar sduess avatar wong-hl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sharpy's Issues

Clean up SHARPy linear interface with UVLM

SHARPy's linear modules interface with UVLM through sharpy/linear/src/libuvlm.py whereas the rest of the code's interface is done in uvlmlib.py. To avoid confusion and mix ups, unify all and make the linear part interface through the main uvlmlib.

  • Merge libuvlm into uvlmlib

In addition, in several files in the linear source code, there are references to the c libraries that should be unified/cleaned up, mainly in

  • assembly: uvlm lib directory import
  • lib_dbiot: clean up + uvlm lib directory import
  • surface: uvlm lib directory import
  • Consolidate src/linear/libalg into algebra

libss.py disc2cont doesn't accept SISO systems

In disc2cont, line p, m = sys.D.shape assumes D is more than 1D, hence fails for SISO systems. Simple check on D dimension and two exceptions for SIMO and MISO systems should fix the issue

Failed Test

(sharpy_env) [buttermelted@thinkpad sharpy]$ python -m unittest
running unittest
Traceback (most recent call last):
File "/home/buttermelted/bin/sharpy/sharpy/utils/ctypes_utils.py", line 18, in import_ctypes_lib
library = ct.CDLL(lib_path, mode=ct.RTLD_GLOBAL)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/ctypes/init.py", line 364, in init
self._handle = _dlopen(self._name, mode)
OSError: /home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/scipy/sparse/../../../../libstdc++.so.6: version GLIBCXX_3.4.29' not found (required by /home/buttermelted/bin/sharpy/lib/UVLM/lib/libuvlm.so) Traceback (most recent call last): File "/home/buttermelted/bin/sharpy/sharpy/utils/ctypes_utils.py", line 18, in import_ctypes_lib library = ct.CDLL(lib_path, mode=ct.RTLD_GLOBAL) File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/ctypes/__init__.py", line 364, in __init__ self._handle = _dlopen(self._name, mode) OSError: /home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/scipy/sparse/../../../../libstdc++.so.6: version GLIBCXX_3.4.29' not found (required by /home/buttermelted/bin/sharpy/lib/UVLM/lib/libuvlm.so)
Traceback (most recent call last):
File "/home/buttermelted/bin/sharpy/sharpy/utils/ctypes_utils.py", line 18, in import_ctypes_lib
library = ct.CDLL(lib_path, mode=ct.RTLD_GLOBAL)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/ctypes/init.py", line 364, in init
self._handle = _dlopen(self._name, mode)
OSError: /home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/scipy/sparse/../../../../libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /home/buttermelted/bin/sharpy/lib/UVLM/lib/libuvlm.so)
running unittest
EEEE.EEEEEEEEEEEsE.EE./home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/h5py/_hl/dataset.py:541: DeprecationWarning: Passing None into shape arguments as an alias for () is deprecated.
arr = numpy.ndarray(selection.mshape, dtype=new_dtype)
...EE..........E.E

ERROR: sharpy.generators (unittest.loader._FailedTest)

ImportError: Failed to import test module: sharpy.generators
Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 5, in
from .vtkIOParallelPython import *
ImportError: libjsoncpp.so.19: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 38, in
import vtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtk.py", line 32, in
all_spec.loader.exec_module(all_m)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/all.py", line 83, in
from .vtkIOParallel import *
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 9, in
from vtkIOParallelPython import *
ModuleNotFoundError: No module named 'vtkIOParallelPython'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/unittest/loader.py", line 470, in _find_test_path
package = self._get_module_from_name(name)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/unittest/loader.py", line 377, in _get_module_from_name
import(name)
File "/home/buttermelted/bin/sharpy/sharpy/generators/init.py", line 25, in
generator_interface.generators[file] = importlib.import_module(import_path + "." + file)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/home/buttermelted/bin/sharpy/sharpy/generators/gridbox.py", line 6, in
from tvtk.api import tvtk, write_data
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/api.py", line 10, in
from tvtk.tvtk_access import tvtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 43, in
raise ImportError(msg)
ImportError: No module named 'vtkIOParallelPython'


Do you have vtk installed properly?
VTK (and build instructions) can be obtained from http://www.vtk.org

======================================================================
ERROR: sharpy.linear.assembler (unittest.loader._FailedTest)

ImportError: Failed to import test module: sharpy.linear.assembler
Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 5, in
from .vtkIOParallelPython import *
ImportError: libjsoncpp.so.19: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 38, in
import vtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtk.py", line 32, in
all_spec.loader.exec_module(all_m)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/all.py", line 83, in
from .vtkIOParallel import *
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 9, in
from vtkIOParallelPython import *
ModuleNotFoundError: No module named 'vtkIOParallelPython'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/unittest/loader.py", line 470, in _find_test_path
package = self._get_module_from_name(name)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/unittest/loader.py", line 377, in _get_module_from_name
import(name)
File "/home/buttermelted/bin/sharpy/sharpy/linear/assembler/init.py", line 16, in
ss_interface.systems_dict_import[file] = importlib.import_module(import_path + "." + file)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/home/buttermelted/bin/sharpy/sharpy/linear/assembler/linearbeam.py", line 7, in
import sharpy.linear.src.lingebm as lingebm
File "/home/buttermelted/bin/sharpy/sharpy/linear/src/lingebm.py", line 15, in
import sharpy.structure.utils.modalutils as modalutils
File "/home/buttermelted/bin/sharpy/sharpy/structure/utils/modalutils.py", line 4, in
from tvtk.api import tvtk, write_data
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/api.py", line 10, in
from tvtk.tvtk_access import tvtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 43, in
raise ImportError(msg)
ImportError: No module named 'vtkIOParallelPython'


Do you have vtk installed properly?
VTK (and build instructions) can be obtained from http://www.vtk.org

======================================================================
ERROR: sharpy.postproc (unittest.loader._FailedTest)

ImportError: Failed to import test module: sharpy.postproc
Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 5, in
from .vtkIOParallelPython import *
ImportError: libjsoncpp.so.19: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 38, in
import vtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtk.py", line 32, in
all_spec.loader.exec_module(all_m)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/all.py", line 83, in
from .vtkIOParallel import *
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 9, in
from vtkIOParallelPython import *
ModuleNotFoundError: No module named 'vtkIOParallelPython'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/unittest/loader.py", line 470, in _find_test_path
package = self._get_module_from_name(name)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/unittest/loader.py", line 377, in _get_module_from_name
import(name)
File "/home/buttermelted/bin/sharpy/sharpy/postproc/init.py", line 16, in
solver_interface.solvers[file] = importlib.import_module(import_path + "." + file)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/home/buttermelted/bin/sharpy/sharpy/postproc/aerogridplot.py", line 4, in
from tvtk.api import tvtk, write_data
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/api.py", line 10, in
from tvtk.tvtk_access import tvtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 43, in
raise ImportError(msg)
ImportError: No module named 'vtkIOParallelPython'


Do you have vtk installed properly?
VTK (and build instructions) can be obtained from http://www.vtk.org

======================================================================
ERROR: sharpy.solvers (unittest.loader._FailedTest)

ImportError: Failed to import test module: sharpy.solvers
Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 5, in
from .vtkIOParallelPython import *
ImportError: libjsoncpp.so.19: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 38, in
import vtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtk.py", line 32, in
all_spec.loader.exec_module(all_m)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/all.py", line 83, in
from .vtkIOParallel import *
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 9, in
from vtkIOParallelPython import *
ModuleNotFoundError: No module named 'vtkIOParallelPython'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/unittest/loader.py", line 470, in _find_test_path
package = self._get_module_from_name(name)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/unittest/loader.py", line 377, in _get_module_from_name
import(name)
File "/home/buttermelted/bin/sharpy/sharpy/solvers/init.py", line 16, in
solver_interface.solvers[file] = importlib.import_module(import_path + "." + file)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/home/buttermelted/bin/sharpy/sharpy/solvers/modal.py", line 12, in
import sharpy.structure.utils.modalutils as modalutils
File "/home/buttermelted/bin/sharpy/sharpy/structure/utils/modalutils.py", line 4, in
from tvtk.api import tvtk, write_data
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/api.py", line 10, in
from tvtk.tvtk_access import tvtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 43, in
raise ImportError(msg)
ImportError: No module named 'vtkIOParallelPython'


Do you have vtk installed properly?
VTK (and build instructions) can be obtained from http://www.vtk.org

======================================================================
ERROR: test_doublependulum (tests.coupled.multibody.double_pendulum.test_double_pendulum_geradin.TestDoublePendulum)

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 5, in
from .vtkIOParallelPython import *
ImportError: libjsoncpp.so.19: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 38, in
import vtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtk.py", line 32, in
all_spec.loader.exec_module(all_m)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/all.py", line 83, in
from .vtkIOParallel import *
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 9, in
from vtkIOParallelPython import *
ModuleNotFoundError: No module named 'vtkIOParallelPython'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/bin/sharpy/tests/coupled/multibody/double_pendulum/test_double_pendulum_geradin.py", line 209, in setUp
SimInfo.set_default_values()
File "/home/buttermelted/bin/sharpy/sharpy/utils/generate_cases.py", line 1640, in set_default_values
aux_names = solver_interface.dictionary_of_solvers(print_info=False)
File "/home/buttermelted/bin/sharpy/sharpy/utils/solver_interface.py", line 99, in dictionary_of_solvers
import sharpy.solvers
File "/home/buttermelted/bin/sharpy/sharpy/solvers/init.py", line 16, in
solver_interface.solvers[file] = importlib.import_module(import_path + "." + file)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/home/buttermelted/bin/sharpy/sharpy/solvers/modal.py", line 12, in
import sharpy.structure.utils.modalutils as modalutils
File "/home/buttermelted/bin/sharpy/sharpy/structure/utils/modalutils.py", line 4, in
from tvtk.api import tvtk, write_data
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/api.py", line 10, in
from tvtk.tvtk_access import tvtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 43, in
raise ImportError(msg)
ImportError: No module named 'vtkIOParallelPython'


Do you have vtk installed properly?
VTK (and build instructions) can be obtained from http://www.vtk.org

======================================================================
ERROR: test_testfixnodevelocitywrta (tests.coupled.multibody.fix_node_velocity_wrtA.test_fix_node_velocity_wrtA.TestFixNodeVelocitywrtA)

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 5, in
from .vtkIOParallelPython import *
ImportError: libjsoncpp.so.19: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 38, in
import vtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtk.py", line 32, in
all_spec.loader.exec_module(all_m)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/all.py", line 83, in
from .vtkIOParallel import *
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 9, in
from vtkIOParallelPython import *
ModuleNotFoundError: No module named 'vtkIOParallelPython'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/bin/sharpy/tests/coupled/multibody/fix_node_velocity_wrtA/test_fix_node_velocity_wrtA.py", line 61, in setUp
SimInfo.set_default_values()
File "/home/buttermelted/bin/sharpy/sharpy/utils/generate_cases.py", line 1640, in set_default_values
aux_names = solver_interface.dictionary_of_solvers(print_info=False)
File "/home/buttermelted/bin/sharpy/sharpy/utils/solver_interface.py", line 99, in dictionary_of_solvers
import sharpy.solvers
File "/home/buttermelted/bin/sharpy/sharpy/solvers/init.py", line 16, in
solver_interface.solvers[file] = importlib.import_module(import_path + "." + file)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/home/buttermelted/bin/sharpy/sharpy/solvers/modal.py", line 12, in
import sharpy.structure.utils.modalutils as modalutils
File "/home/buttermelted/bin/sharpy/sharpy/structure/utils/modalutils.py", line 4, in
from tvtk.api import tvtk, write_data
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/api.py", line 10, in
from tvtk.tvtk_access import tvtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 43, in
raise ImportError(msg)
ImportError: No module named 'vtkIOParallelPython'


Do you have vtk installed properly?
VTK (and build instructions) can be obtained from http://www.vtk.org

======================================================================
ERROR: test_testfixnodevelocitywrtg (tests.coupled.multibody.fix_node_velocity_wrtG.test_fix_node_velocity_wrtG.TestFixNodeVelocitywrtG)

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 5, in
from .vtkIOParallelPython import *
ImportError: libjsoncpp.so.19: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 38, in
import vtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtk.py", line 32, in
all_spec.loader.exec_module(all_m)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/all.py", line 83, in
from .vtkIOParallel import *
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 9, in
from vtkIOParallelPython import *
ModuleNotFoundError: No module named 'vtkIOParallelPython'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/bin/sharpy/tests/coupled/multibody/fix_node_velocity_wrtG/test_fix_node_velocity_wrtG.py", line 63, in setUp
SimInfo.set_default_values()
File "/home/buttermelted/bin/sharpy/sharpy/utils/generate_cases.py", line 1640, in set_default_values
aux_names = solver_interface.dictionary_of_solvers(print_info=False)
File "/home/buttermelted/bin/sharpy/sharpy/utils/solver_interface.py", line 99, in dictionary_of_solvers
import sharpy.solvers
File "/home/buttermelted/bin/sharpy/sharpy/solvers/init.py", line 16, in
solver_interface.solvers[file] = importlib.import_module(import_path + "." + file)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/home/buttermelted/bin/sharpy/sharpy/solvers/modal.py", line 12, in
import sharpy.structure.utils.modalutils as modalutils
File "/home/buttermelted/bin/sharpy/sharpy/structure/utils/modalutils.py", line 4, in
from tvtk.api import tvtk, write_data
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/api.py", line 10, in
from tvtk.tvtk_access import tvtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 43, in
raise ImportError(msg)
ImportError: No module named 'vtkIOParallelPython'


Do you have vtk installed properly?
VTK (and build instructions) can be obtained from http://www.vtk.org

======================================================================
ERROR: test_rotor (tests.coupled.prescribed.WindTurbine.test_rotor.TestRotor)

Traceback (most recent call last):
File "/home/buttermelted/bin/sharpy/tests/coupled/prescribed/WindTurbine/test_rotor.py", line 82, in setUp
options)
File "/home/buttermelted/bin/sharpy/cases/templates/template_wt.py", line 183, in rotor_from_excel_type03
rR_structural = gc.read_column_sheet_type01(excel_file_name, excel_sheet_structural_blade, 'rR')
File "/home/buttermelted/bin/sharpy/sharpy/utils/generate_cases.py", line 166, in read_column_sheet_type01
xls = pd.ExcelFile(excel_file_name)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/pandas/io/excel/_base.py", line 1233, in init
self._reader = self._engines[engine](self._io, storage_options=storage_options)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/pandas/io/excel/_openpyxl.py", line 521, in init
import_optional_dependency("openpyxl")
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/pandas/compat/_optional.py", line 118, in import_optional_dependency
raise ImportError(msg) from None
ImportError: Missing optional dependency 'openpyxl'. Use pip or conda to install openpyxl.

======================================================================
ERROR: test_static_aoa (tests.coupled.static.test_pazy_static.TestPazyCoupledStatic)

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 5, in
from .vtkIOParallelPython import *
ImportError: libjsoncpp.so.19: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 38, in
import vtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtk.py", line 32, in
all_spec.loader.exec_module(all_m)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/all.py", line 83, in
from .vtkIOParallel import *
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 9, in
from vtkIOParallelPython import *
ModuleNotFoundError: No module named 'vtkIOParallelPython'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/bin/sharpy/tests/coupled/static/test_pazy_static.py", line 33, in test_static_aoa
Msf=Msf)
File "/home/buttermelted/bin/sharpy/tests/coupled/static/pazy/generate_pazy.py", line 136, in generate_pazy
sharpy.sharpy_main.main(['', ws.route + ws.case_name + '.sharpy'])
File "/home/buttermelted/bin/sharpy/sharpy/sharpy_main.py", line 41, in main
import sharpy.solvers
File "/home/buttermelted/bin/sharpy/sharpy/solvers/init.py", line 16, in
solver_interface.solvers[file] = importlib.import_module(import_path + "." + file)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/home/buttermelted/bin/sharpy/sharpy/solvers/modal.py", line 12, in
import sharpy.structure.utils.modalutils as modalutils
File "/home/buttermelted/bin/sharpy/sharpy/structure/utils/modalutils.py", line 4, in
from tvtk.api import tvtk, write_data
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/api.py", line 10, in
from tvtk.tvtk_access import tvtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 43, in
raise ImportError(msg)
ImportError: No module named 'vtkIOParallelPython'


Do you have vtk installed properly?
VTK (and build instructions) can be obtained from http://www.vtk.org

======================================================================
ERROR: test_smith2deg_g (tests.coupled.static.test_static.TestCoupledStatic)

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 5, in
from .vtkIOParallelPython import *
ImportError: libjsoncpp.so.19: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 38, in
import vtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtk.py", line 32, in
all_spec.loader.exec_module(all_m)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/all.py", line 83, in
from .vtkIOParallel import *
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 9, in
from vtkIOParallelPython import *
ModuleNotFoundError: No module named 'vtkIOParallelPython'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/bin/sharpy/tests/coupled/static/test_static.py", line 65, in test_smith2deg_g
sharpy.sharpy_main.main(['', solver_path])
File "/home/buttermelted/bin/sharpy/sharpy/sharpy_main.py", line 41, in main
import sharpy.solvers
File "/home/buttermelted/bin/sharpy/sharpy/solvers/init.py", line 16, in
solver_interface.solvers[file] = importlib.import_module(import_path + "." + file)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/home/buttermelted/bin/sharpy/sharpy/solvers/modal.py", line 12, in
import sharpy.structure.utils.modalutils as modalutils
File "/home/buttermelted/bin/sharpy/sharpy/structure/utils/modalutils.py", line 4, in
from tvtk.api import tvtk, write_data
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/api.py", line 10, in
from tvtk.tvtk_access import tvtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 43, in
raise ImportError(msg)
ImportError: No module named 'vtkIOParallelPython'


Do you have vtk installed properly?
VTK (and build instructions) can be obtained from http://www.vtk.org

======================================================================
ERROR: test_smith2deg_nog (tests.coupled.static.test_static.TestCoupledStatic)
Case and results from:

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 5, in
from .vtkIOParallelPython import *
ImportError: libjsoncpp.so.19: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 38, in
import vtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtk.py", line 32, in
all_spec.loader.exec_module(all_m)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/all.py", line 83, in
from .vtkIOParallel import *
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 9, in
from vtkIOParallelPython import *
ModuleNotFoundError: No module named 'vtkIOParallelPython'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/bin/sharpy/tests/coupled/static/test_static.py", line 40, in test_smith2deg_nog
sharpy.sharpy_main.main(['', solver_path])
File "/home/buttermelted/bin/sharpy/sharpy/sharpy_main.py", line 41, in main
import sharpy.solvers
File "/home/buttermelted/bin/sharpy/sharpy/solvers/init.py", line 16, in
solver_interface.solvers[file] = importlib.import_module(import_path + "." + file)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/home/buttermelted/bin/sharpy/sharpy/solvers/modal.py", line 12, in
import sharpy.structure.utils.modalutils as modalutils
File "/home/buttermelted/bin/sharpy/sharpy/structure/utils/modalutils.py", line 4, in
from tvtk.api import tvtk, write_data
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/api.py", line 10, in
from tvtk.tvtk_access import tvtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 43, in
raise ImportError(msg)
ImportError: No module named 'vtkIOParallelPython'


Do you have vtk installed properly?
VTK (and build instructions) can be obtained from http://www.vtk.org

======================================================================
ERROR: test_smith4deg_g (tests.coupled.static.test_static.TestCoupledStatic)
Case from R. Simpson's PhD thesis.

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 5, in
from .vtkIOParallelPython import *
ImportError: libjsoncpp.so.19: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 38, in
import vtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtk.py", line 32, in
all_spec.loader.exec_module(all_m)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/all.py", line 83, in
from .vtkIOParallel import *
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 9, in
from vtkIOParallelPython import *
ModuleNotFoundError: No module named 'vtkIOParallelPython'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/bin/sharpy/tests/coupled/static/test_static.py", line 85, in test_smith4deg_g
sharpy.sharpy_main.main(['', solver_path])
File "/home/buttermelted/bin/sharpy/sharpy/sharpy_main.py", line 41, in main
import sharpy.solvers
File "/home/buttermelted/bin/sharpy/sharpy/solvers/init.py", line 16, in
solver_interface.solvers[file] = importlib.import_module(import_path + "." + file)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/home/buttermelted/bin/sharpy/sharpy/solvers/modal.py", line 12, in
import sharpy.structure.utils.modalutils as modalutils
File "/home/buttermelted/bin/sharpy/sharpy/structure/utils/modalutils.py", line 4, in
from tvtk.api import tvtk, write_data
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/api.py", line 10, in
from tvtk.tvtk_access import tvtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 43, in
raise ImportError(msg)
ImportError: No module named 'vtkIOParallelPython'


Do you have vtk installed properly?
VTK (and build instructions) can be obtained from http://www.vtk.org

======================================================================
ERROR: test_smith4deg_nog (tests.coupled.static.test_static.TestCoupledStatic)
Hodges result for Euler+Nonlinear is

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 5, in
from .vtkIOParallelPython import *
ImportError: libjsoncpp.so.19: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 38, in
import vtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtk.py", line 32, in
all_spec.loader.exec_module(all_m)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/all.py", line 83, in
from .vtkIOParallel import *
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 9, in
from vtkIOParallelPython import *
ModuleNotFoundError: No module named 'vtkIOParallelPython'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/bin/sharpy/tests/coupled/static/test_static.py", line 115, in test_smith4deg_nog
sharpy.sharpy_main.main(['', solver_path])
File "/home/buttermelted/bin/sharpy/sharpy/sharpy_main.py", line 41, in main
import sharpy.solvers
File "/home/buttermelted/bin/sharpy/sharpy/solvers/init.py", line 16, in
solver_interface.solvers[file] = importlib.import_module(import_path + "." + file)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/home/buttermelted/bin/sharpy/sharpy/solvers/modal.py", line 12, in
import sharpy.structure.utils.modalutils as modalutils
File "/home/buttermelted/bin/sharpy/sharpy/structure/utils/modalutils.py", line 4, in
from tvtk.api import tvtk, write_data
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/api.py", line 10, in
from tvtk.tvtk_access import tvtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 43, in
raise ImportError(msg)
ImportError: No module named 'vtkIOParallelPython'


Do you have vtk installed properly?
VTK (and build instructions) can be obtained from http://www.vtk.org

======================================================================
ERROR: test_dynamic_aoa (tests.io.test_pazy_udpout.TestPazyCoupledStatic)

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 5, in
from .vtkIOParallelPython import *
ImportError: libjsoncpp.so.19: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 38, in
import vtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtk.py", line 32, in
all_spec.loader.exec_module(all_m)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/all.py", line 83, in
from .vtkIOParallel import *
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 9, in
from vtkIOParallelPython import *
ModuleNotFoundError: No module named 'vtkIOParallelPython'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/bin/sharpy/tests/io/test_pazy_udpout.py", line 32, in test_dynamic_aoa
cd=self.route_test_dir)
File "/home/buttermelted/bin/sharpy/tests/io/generate_pazy_udpout.py", line 338, in generate_pazy_udp
sharpy.sharpy_main.main(['', ws.route + ws.case_name + '.sharpy'])
File "/home/buttermelted/bin/sharpy/sharpy/sharpy_main.py", line 41, in main
import sharpy.solvers
File "/home/buttermelted/bin/sharpy/sharpy/solvers/init.py", line 16, in
solver_interface.solvers[file] = importlib.import_module(import_path + "." + file)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/home/buttermelted/bin/sharpy/sharpy/solvers/modal.py", line 12, in
import sharpy.structure.utils.modalutils as modalutils
File "/home/buttermelted/bin/sharpy/sharpy/structure/utils/modalutils.py", line 4, in
from tvtk.api import tvtk, write_data
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/api.py", line 10, in
from tvtk.tvtk_access import tvtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 43, in
raise ImportError(msg)
ImportError: No module named 'vtkIOParallelPython'


Do you have vtk installed properly?
VTK (and build instructions) can be obtained from http://www.vtk.org

======================================================================
ERROR: tests.linear.assembly.test_assembly (unittest.loader._FailedTest)

ImportError: Failed to import test module: tests.linear.assembly.test_assembly
Traceback (most recent call last):
File "/home/buttermelted/bin/sharpy/sharpy/utils/ctypes_utils.py", line 18, in import_ctypes_lib
library = ct.CDLL(lib_path, mode=ct.RTLD_GLOBAL)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/ctypes/init.py", line 364, in init
self._handle = _dlopen(self._name, mode)
OSError: /home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/scipy/sparse/../../../../libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /home/buttermelted/bin/sharpy/lib/UVLM/lib/libuvlm.so)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/unittest/loader.py", line 436, in _find_test_path
module = self._get_module_from_name(name)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/unittest/loader.py", line 377, in _get_module_from_name
import(name)
File "/home/buttermelted/bin/sharpy/tests/linear/assembly/test_assembly.py", line 15, in
import sharpy.linear.src.assembly as assembly
File "/home/buttermelted/bin/sharpy/sharpy/linear/src/assembly.py", line 22, in
from sharpy.aero.utils.uvlmlib import dvinddzeta_cpp, eval_panel_cpp
File "/home/buttermelted/bin/sharpy/sharpy/aero/utils/uvlmlib.py", line 10, in
UvlmLib = ct_utils.import_ctypes_lib(SharpyDir + '/lib/UVLM/lib/', 'libuvlm')
File "/home/buttermelted/bin/sharpy/sharpy/utils/ctypes_utils.py", line 23, in import_ctypes_lib
sys.exit(1)
SystemExit: 1

======================================================================
ERROR: tests.linear.derivatives.test_ders (unittest.loader._FailedTest)

ImportError: Failed to import test module: tests.linear.derivatives.test_ders
Traceback (most recent call last):
File "/home/buttermelted/bin/sharpy/sharpy/utils/ctypes_utils.py", line 18, in import_ctypes_lib
library = ct.CDLL(lib_path, mode=ct.RTLD_GLOBAL)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/ctypes/init.py", line 364, in init
self._handle = _dlopen(self._name, mode)
OSError: /home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/scipy/sparse/../../../../libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /home/buttermelted/bin/sharpy/lib/UVLM/lib/libuvlm.so)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/unittest/loader.py", line 436, in _find_test_path
module = self._get_module_from_name(name)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/unittest/loader.py", line 377, in _get_module_from_name
import(name)
File "/home/buttermelted/bin/sharpy/tests/linear/derivatives/test_ders.py", line 9, in
import sharpy.aero.utils.uvlmlib
File "/home/buttermelted/bin/sharpy/sharpy/aero/utils/uvlmlib.py", line 10, in
UvlmLib = ct_utils.import_ctypes_lib(SharpyDir + '/lib/UVLM/lib/', 'libuvlm')
File "/home/buttermelted/bin/sharpy/sharpy/utils/ctypes_utils.py", line 23, in import_ctypes_lib
sys.exit(1)
SystemExit: 1

======================================================================
ERROR: test_flutter (tests.linear.goland_wing.test_goland_flutter.TestGolandFlutter)

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 5, in
from .vtkIOParallelPython import *
ImportError: libjsoncpp.so.19: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 38, in
import vtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtk.py", line 32, in
all_spec.loader.exec_module(all_m)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/all.py", line 83, in
from .vtkIOParallel import *
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 9, in
from vtkIOParallelPython import *
ModuleNotFoundError: No module named 'vtkIOParallelPython'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/bin/sharpy/tests/linear/goland_wing/test_goland_flutter.py", line 285, in test_flutter
self.setup()
File "/home/buttermelted/bin/sharpy/tests/linear/goland_wing/test_goland_flutter.py", line 246, in setup
self.data = sharpy.sharpy_main.main(['', ws.route + ws.case_name + '.sharpy'])
File "/home/buttermelted/bin/sharpy/sharpy/sharpy_main.py", line 41, in main
import sharpy.solvers
File "/home/buttermelted/bin/sharpy/sharpy/solvers/init.py", line 16, in
solver_interface.solvers[file] = importlib.import_module(import_path + "." + file)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/home/buttermelted/bin/sharpy/sharpy/solvers/modal.py", line 12, in
import sharpy.structure.utils.modalutils as modalutils
File "/home/buttermelted/bin/sharpy/sharpy/structure/utils/modalutils.py", line 4, in
from tvtk.api import tvtk, write_data
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/api.py", line 10, in
from tvtk.tvtk_access import tvtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 43, in
raise ImportError(msg)
ImportError: No module named 'vtkIOParallelPython'


Do you have vtk installed properly?
VTK (and build instructions) can be obtained from http://www.vtk.org

======================================================================
ERROR: test_flutter (tests.linear.goland_wing.test_goland_flutter.TestGolandFlutter)

Traceback (most recent call last):
File "/home/buttermelted/bin/sharpy/tests/linear/goland_wing/test_goland_flutter.py", line 293, in tearDown
shutil.rmtree(self.route_test_dir + '/' + folder)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/shutil.py", line 485, in rmtree
onerror(os.lstat, path, sys.exc_info())
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/shutil.py", line 483, in rmtree
orig_st = os.lstat(path)
FileNotFoundError: [Errno 2] No such file or directory: '/home/buttermelted/bin/sharpy/tests/linear/goland_wing/output'

======================================================================
ERROR: test_roms (tests.linear.rom.test_rom_framework.TestROMFramework) [Direct]

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 5, in
from .vtkIOParallelPython import *
ImportError: libjsoncpp.so.19: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 38, in
import vtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtk.py", line 32, in
all_spec.loader.exec_module(all_m)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/all.py", line 83, in
from .vtkIOParallel import *
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 9, in
from vtkIOParallelPython import *
ModuleNotFoundError: No module named 'vtkIOParallelPython'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/bin/sharpy/tests/linear/rom/test_rom_framework.py", line 253, in test_roms
sharpy.sharpy_main.main(['', self.ws.route + self.ws.case_name + '.sharpy'])
File "/home/buttermelted/bin/sharpy/sharpy/sharpy_main.py", line 41, in main
import sharpy.solvers
File "/home/buttermelted/bin/sharpy/sharpy/solvers/init.py", line 16, in
solver_interface.solvers[file] = importlib.import_module(import_path + "." + file)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/home/buttermelted/bin/sharpy/sharpy/solvers/modal.py", line 12, in
import sharpy.structure.utils.modalutils as modalutils
File "/home/buttermelted/bin/sharpy/sharpy/structure/utils/modalutils.py", line 4, in
from tvtk.api import tvtk, write_data
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/api.py", line 10, in
from tvtk.tvtk_access import tvtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 43, in
raise ImportError(msg)
ImportError: No module named 'vtkIOParallelPython'


Do you have vtk installed properly?
VTK (and build instructions) can be obtained from http://www.vtk.org

======================================================================
ERROR: test_roms (tests.linear.rom.test_rom_framework.TestROMFramework) [FrequencyLimited]

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 5, in
from .vtkIOParallelPython import *
ImportError: libjsoncpp.so.19: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 38, in
import vtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtk.py", line 32, in
all_spec.loader.exec_module(all_m)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/all.py", line 83, in
from .vtkIOParallel import *
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 9, in
from vtkIOParallelPython import *
ModuleNotFoundError: No module named 'vtkIOParallelPython'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/bin/sharpy/tests/linear/rom/test_rom_framework.py", line 253, in test_roms
sharpy.sharpy_main.main(['', self.ws.route + self.ws.case_name + '.sharpy'])
File "/home/buttermelted/bin/sharpy/sharpy/sharpy_main.py", line 41, in main
import sharpy.solvers
File "/home/buttermelted/bin/sharpy/sharpy/solvers/init.py", line 16, in
solver_interface.solvers[file] = importlib.import_module(import_path + "." + file)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/home/buttermelted/bin/sharpy/sharpy/solvers/modal.py", line 12, in
import sharpy.structure.utils.modalutils as modalutils
File "/home/buttermelted/bin/sharpy/sharpy/structure/utils/modalutils.py", line 4, in
from tvtk.api import tvtk, write_data
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/api.py", line 10, in
from tvtk.tvtk_access import tvtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 43, in
raise ImportError(msg)
ImportError: No module named 'vtkIOParallelPython'


Do you have vtk installed properly?
VTK (and build instructions) can be obtained from http://www.vtk.org

======================================================================
ERROR: test_roms (tests.linear.rom.test_rom_framework.TestROMFramework) [Iterative]

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 5, in
from .vtkIOParallelPython import *
ImportError: libjsoncpp.so.19: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 38, in
import vtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtk.py", line 32, in
all_spec.loader.exec_module(all_m)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/all.py", line 83, in
from .vtkIOParallel import *
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 9, in
from vtkIOParallelPython import *
ModuleNotFoundError: No module named 'vtkIOParallelPython'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/bin/sharpy/tests/linear/rom/test_rom_framework.py", line 253, in test_roms
sharpy.sharpy_main.main(['', self.ws.route + self.ws.case_name + '.sharpy'])
File "/home/buttermelted/bin/sharpy/sharpy/sharpy_main.py", line 41, in main
import sharpy.solvers
File "/home/buttermelted/bin/sharpy/sharpy/solvers/init.py", line 16, in
solver_interface.solvers[file] = importlib.import_module(import_path + "." + file)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/home/buttermelted/bin/sharpy/sharpy/solvers/modal.py", line 12, in
import sharpy.structure.utils.modalutils as modalutils
File "/home/buttermelted/bin/sharpy/sharpy/structure/utils/modalutils.py", line 4, in
from tvtk.api import tvtk, write_data
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/api.py", line 10, in
from tvtk.tvtk_access import tvtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 43, in
raise ImportError(msg)
ImportError: No module named 'vtkIOParallelPython'


Do you have vtk installed properly?
VTK (and build instructions) can be obtained from http://www.vtk.org

======================================================================
ERROR: tests.linear.rom.test_springmasssystem (unittest.loader._FailedTest)

ImportError: Failed to import test module: tests.linear.rom.test_springmasssystem
Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 5, in
from .vtkIOParallelPython import *
ImportError: libjsoncpp.so.19: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 38, in
import vtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtk.py", line 32, in
all_spec.loader.exec_module(all_m)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/all.py", line 83, in
from .vtkIOParallel import *
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 9, in
from vtkIOParallelPython import *
ModuleNotFoundError: No module named 'vtkIOParallelPython'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/unittest/loader.py", line 436, in _find_test_path
module = self._get_module_from_name(name)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/unittest/loader.py", line 377, in _get_module_from_name
import(name)
File "/home/buttermelted/bin/sharpy/tests/linear/rom/test_springmasssystem.py", line 10, in
import sharpy.linear.src.lingebm as lingebm
File "/home/buttermelted/bin/sharpy/sharpy/linear/src/lingebm.py", line 15, in
import sharpy.structure.utils.modalutils as modalutils
File "/home/buttermelted/bin/sharpy/sharpy/structure/utils/modalutils.py", line 4, in
from tvtk.api import tvtk, write_data
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/api.py", line 10, in
from tvtk.tvtk_access import tvtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 43, in
raise ImportError(msg)
ImportError: No module named 'vtkIOParallelPython'


Do you have vtk installed properly?
VTK (and build instructions) can be obtained from http://www.vtk.org

======================================================================
ERROR: tests.linear.uvlm.test_infinite_span (unittest.loader._FailedTest)

ImportError: Failed to import test module: tests.linear.uvlm.test_infinite_span
Traceback (most recent call last):
File "/home/buttermelted/bin/sharpy/sharpy/utils/ctypes_utils.py", line 18, in import_ctypes_lib
library = ct.CDLL(lib_path, mode=ct.RTLD_GLOBAL)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/ctypes/init.py", line 364, in init
self._handle = _dlopen(self._name, mode)
OSError: /home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/scipy/sparse/../../../../libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /home/buttermelted/bin/sharpy/lib/UVLM/lib/libuvlm.so)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/unittest/loader.py", line 436, in _find_test_path
module = self._get_module_from_name(name)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/unittest/loader.py", line 377, in _get_module_from_name
import(name)
File "/home/buttermelted/bin/sharpy/tests/linear/uvlm/test_infinite_span.py", line 19, in
import sharpy.linear.src.linuvlm as linuvlm
File "/home/buttermelted/bin/sharpy/sharpy/linear/src/linuvlm.py", line 27, in
import sharpy.linear.src.multisurfaces as multisurfaces
File "/home/buttermelted/bin/sharpy/sharpy/linear/src/multisurfaces.py", line 8, in
import sharpy.linear.src.surface as surface
File "/home/buttermelted/bin/sharpy/sharpy/linear/src/surface.py", line 10, in
import sharpy.aero.utils.uvlmlib as uvlmlib # SHARPy's main uvlm interface with cpp
File "/home/buttermelted/bin/sharpy/sharpy/aero/utils/uvlmlib.py", line 10, in
UvlmLib = ct_utils.import_ctypes_lib(SharpyDir + '/lib/UVLM/lib/', 'libuvlm')
File "/home/buttermelted/bin/sharpy/sharpy/utils/ctypes_utils.py", line 23, in import_ctypes_lib
sys.exit(1)
SystemExit: 1

======================================================================
ERROR: test_generatecases (tests.utils.test_generate_cases.TestGenerateCases)

Traceback (most recent call last):
File "/home/buttermelted/bin/sharpy/tests/utils/test_generate_cases.py", line 81, in setUp
options)
File "/home/buttermelted/bin/sharpy/cases/templates/template_wt.py", line 183, in rotor_from_excel_type03
rR_structural = gc.read_column_sheet_type01(excel_file_name, excel_sheet_structural_blade, 'rR')
File "/home/buttermelted/bin/sharpy/sharpy/utils/generate_cases.py", line 166, in read_column_sheet_type01
xls = pd.ExcelFile(excel_file_name)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/pandas/io/excel/_base.py", line 1233, in init
self._reader = self._engines[engine](self._io, storage_options=storage_options)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/pandas/io/excel/_openpyxl.py", line 521, in init
import_optional_dependency("openpyxl")
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/pandas/compat/_optional.py", line 118, in import_optional_dependency
raise ImportError(msg) from None
ImportError: Missing optional dependency 'openpyxl'. Use pip or conda to install openpyxl.

======================================================================
ERROR: test_geradin (tests.xbeam.test_xbeam.TestGeradinXbeam)

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 5, in
from .vtkIOParallelPython import *
ImportError: libjsoncpp.so.19: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 38, in
import vtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtk.py", line 32, in
all_spec.loader.exec_module(all_m)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/all.py", line 83, in
from .vtkIOParallel import *
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/vtkmodules/vtkIOParallel.py", line 9, in
from vtkIOParallelPython import *
ModuleNotFoundError: No module named 'vtkIOParallelPython'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/buttermelted/bin/sharpy/tests/xbeam/test_xbeam.py", line 28, in test_geradin
sharpy.sharpy_main.main(['', solver_path])
File "/home/buttermelted/bin/sharpy/sharpy/sharpy_main.py", line 41, in main
import sharpy.solvers
File "/home/buttermelted/bin/sharpy/sharpy/solvers/init.py", line 16, in
solver_interface.solvers[file] = importlib.import_module(import_path + "." + file)
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/home/buttermelted/bin/sharpy/sharpy/solvers/modal.py", line 12, in
import sharpy.structure.utils.modalutils as modalutils
File "/home/buttermelted/bin/sharpy/sharpy/structure/utils/modalutils.py", line 4, in
from tvtk.api import tvtk, write_data
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/api.py", line 10, in
from tvtk.tvtk_access import tvtk
File "/home/buttermelted/.conda/envs/sharpy_env/lib/python3.7/site-packages/tvtk/tvtk_access.py", line 43, in
raise ImportError(msg)
ImportError: No module named 'vtkIOParallelPython'


Do you have vtk installed properly?
VTK (and build instructions) can be obtained from http://www.vtk.org


Ran 40 tests in 1.356s

FAILED (errors=25, skipped=1)

a lot of missing files and packages

Default value not correct in documentation when it is a numpy type.

I have just realised that in the documentation, when there is a default value from numpy (for example, a simple np.zeros((3,)), the output in the table looks like: <sphinx.ext.autodoc.importer._MockObject object at 0x7faa13d4d198>. This can be seen in https://ic-sharpy.readthedocs.io/en/master/includes/solvers/structural/NonLinearStatic.html for the initial_position parameter.

I guess we just need to check if the type of the default value is derived from mock or not. I'm not sure about how to write automatically something like np.array([0.0, 0.0, 0.0]), although I'd be happy with just a np.array.

Potential bug in xbeam and cbeam interfaces

In files:
cbeam3_interfaces.f90
xbeam_interfaces.f90

in some subroutines such as cbeam3_slv_nlndyn_step_python, arrays stiffness_db and inv_stiffness_db arrays allocated as

real(c_double), intent(in):: stiffness_db( n_mass, 6 ,6 )
real(c_double), intent(in):: inv_stiffness_db(n_mass, 6 , 6)

while in some others including generate_xbeam, they are allocated as
stifness_db( n_stiffness, 6 , 6)
inv_stiffness_db(n_stiffness, 6 ,6 )

where n_mass and n_stiffness are number of mass and stiffness (with the type integer == c_int ).
As far as I undrestand, n_mass and n_stiffness can be differenet in general as we input them to the subroutine separately.

I believe the correct form is stiffness_db( n_stfiffness, 6, 6).

Note : The issue is not limited to cbeam3_slv_nlndyn_step_python

Output table

The output table in cout_utils.TablePrinter does not print the table properly, so that the title column has the same width as the rest of the rows.

Tests not passing due to them being outdated + test refactoring.

I've been working on dev_cleanup ahead of the release of the very first decent SHARPy version.
The last commit of the big series of work is 354eeb7.

A very large number of tests fail due to them not being up to date.
I'm fixing all the test suite so that it looks halfway decent. Now tests is only for
tests. cases will contain the HALE, X-HALE, Type01, Flying wing, etc.

tests/coupled/prescribed still has a ton of different cases.

Problems I've found:

  • tests.utils.generate_cases_test.TestGenerateCases.test_generate_wt_excel_type01 (not found file: database_type01.xslx).
  • tests.linear.uvlm.infinite_span_test runs, but throws a million warnings. Also, somebody with an IDE, please reformat it. - @ngoiz
  • The multibody cases throw a lot of garbage on screen when running (Generating an instance of...). Plus the two Type01 throw errors on execution.
  • tests.coupled.prescribed.gamma_dot_test diverges and breaks the execution of the test suite (I'm commenting that one, but we need to fix it). When this is fixed, just add a __init__.py empty file in tests/coupled/prescribed/gamma_dot_test/. - @ngoiz
  • Remove the warnings in the TestGenerateCases test.
  • tests.coupled.multibody.double_pendulum needs to cleanup after execution (check TestGenerateCases on how to do it).
  • tests.coupled.multibody.double_pendulum takes too long. I've shortened, but is probably not good enough (I also haven't updated the reference values).

I've also removed all the print statements in the testing suite. It just made a mess.
The names of the test files NEED to be test_<something>.py to be acknowledged by unittests.

If you can do some of these, I'll slowly work around the code to polish it.

Considerations for building SHARPy

Cross Platform

Have you considered using a build system like CMake to support cross-platform compiling? On the surface, this project seems small enough that creating a CMake project would be simple and straightforward. There are also other alternative build systems like Bazel.

git-submodule for linking projects

Rather than manually copying files between projects and assuming a directory structure, you might consider linking UVLM and XBeam into SHARPy as git-submodules. If you use a more robust build system, you could even link the projects into each other so that they build in one shot. Git-submodules do have some downsides, but I think your project is a great use case for this.


I know software projects can be nuanced and some of these more automated solutions might not work. However, if you'd like to chat about any of this in detail, I'm happy to schedule a meeting to talk and get any of this started.

Broken link on SHARPy Installation Guide

The link to the SHARPy Github repository on the installation guide is broken and is:
[https://github.com/imperialcollegelongon/sharpy]

I believe the actual link is:
[https://github.com/ImperialCollegeLondon/sharpy]

Vortex wake managed by SHARPy

Previously, UVLM defined the initial shape of the wake. Now it is managed by SHARPy. Consequently it is easier to define a wake shape closer to reality to make convergence faster.

It is done through generators in the "AerogridLoader" solver. Check the new variables:

  • wake_shape_generator
  • wake_shake_generator_input

Right now, it is intended to be backwards compatible. However, this backwards compatibility will be removed in the future for code simplicity. Get used to describe wake shapes. Check the test cases for further information.

It requires the updating of UVLM.

airfoil_info for wind turbine blade definition

Hi, I ran the NREL 5MW wind turbine example and it worked like a charm. Now I'm trying to understand the airfoil_info page of the excel file for this example

%%%%%%%%%%%%%%%%%%%%

Name Thickness
[-] [%]
vec_str vec_float
cylinder 100
DU40 60
DU35 39.6
DU30 34.6
DU25 30
DU21 24
NACA64 18

%%%%%%%%%%%%%%%%%%%%

What do the values of right column mean? Is that the accumulated percentage of each airfoil shape occupies along the span starting from the wing tip? According to the NREL 5 MW WT definition, it does not seem to be the case.

Definition of control surfaces and impact of node ordering in mirrored wings

In the particular case of mirrored wings about the x-z plane where the node numbering starts at the centre, increases towards one wing tip, jumps to the other wing tip and again increases to the centre, mirrored control surfaces are applied to different a different number of elements.

This is a schematic of the configuration

                        |
x--o--x--o--x--o--x--o--x--o--x--o--x--o--x--o--x
8  7  6  5  4  3  2  1  0  17 16 15 14 13 11 10 9 
                        |
                        |

In this case, one half-wing has a control surface that is half and element smaller.

Support gcc 11

Describe the bug
It is not possible to use sharpy with gcc11 because the required scipy(1.3.2) version was built using gcc9. It might be possible to force scipy to compile locally with gcc11.

I just wanted to let you know, may be add a little note to the install instructions?

Anyways, thank you for making this all open source!

To Reproduce
First build it using gcc11. Then, run the tests.

Expected behavior
I am not sure? Maybe upgrade scipy or mention it somewhere?

System Info (please complete the following information):

  • OS: arch linux

Additional context
I fixed it on arch with installing the aur-packages gcc9, gcc9-fortran, gcc9-libs and this cmake command: FC=gfortran-9 CXX=g++-9 CC=gcc-9 cmake ..

lingebm.py -> update_matrices_time_scale

When 'ScalingDict' defaults to {} in 'LinearAssembler' settings (i.e. not set):

ws.config['LinearAssembler'] = {'linear_system': 'LinearAeroelastic',
                                    'linear_system_settings': {
                                        'beam_settings': {'modal_projection': 'off',
                                                          'inout_coords': 'nodes',
                                                          'discrete_time': 'on',
                                                          'newmark_damp': 0.5e-4,
                                                          'discr_method': 'newmark',
                                                          'dt': ws.dt,
                                                          'proj_modes': 'undamped',
                                                          'use_euler': 'off',
                                                          'num_modes': par.num_modes,
                                                          'print_info': 'on',
                                                          'gravity': 'on',
                                                          'remove_sym_modes': 'on',
                                                          'remove_dofs': []},
                                        'aero_settings': {'dt': ws.dt,
                                                          # 'ScalingDict': {'length': 0.5 * ws.c_ref,
                                                          #                 'speed': par.u_inf,
                                                          #                 'density': par.rho},
                                                          'integr_order': 2,
                                                          'density': ws.rho,
                                                          'remove_predictor': 'on',
                                                          'use_sparse': 'off',
                                                          'rigid_body_motion': 'off',
                                                          'use_euler': 'off',
                                                          'remove_inputs': ['u_gust'],
                                                          # 'rom_method': ['Krylov'], 'rom_method_settings': {
                                                          # 'Krylov': rom_settings}
                                                          },
                                        'rigid_body_motion': False}} 

lingebm.py -> update_matrices_time_scale returns:

Traceback (most recent call last):
  File "main.py", line 79, in <module>
    sharpy.sharpy_main.main(['', ws.route + ws.case_name + '.sharpy'])
  File "/home/mpc/sharpy/sharpy/sharpy_main.py", line 124, in main
    raise e
  File "/home/mpc/sharpy/sharpy/sharpy_main.py", line 100, in main
    data = solver.run()
  File "/home/mpc/sharpy/sharpy/postproc/asymptoticstability.py", line 189, in run
    self.velocity_analysis()
  File "/home/mpc/sharpy/sharpy/postproc/asymptoticstability.py", line 250, in velocity_analysis
    ss_aeroelastic = self.data.linear.linear_system.update(u_inf_vec[i])
  File "/home/mpc/sharpy/sharpy/linear/assembler/linearaeroelastic.py", line 274, in update
    self.beam.sys.update_matrices_time_scale(t_ref)
  File "/home/mpc/sharpy/sharpy/linear/src/lingebm.py", line 1065, in update_matrices_time_scale
    self.Kstr = self.scaled_reference_matrices['K'] * time_ref ** 2
KeyError: 'K'

Potentially due to missing initial assignment. Potentially solved (?) by initial assignment if self.scaled_reference_matrices is empty:

    def update_matrices_time_scale(self, time_ref):

        try:
            cout.cout_wrap('Updating C and K matrices and natural frequencies with new normalised time...', 1)
        except ValueError:
            pass

        if not self.scaled_reference_matrices:
            print('self.scaled_reference_matrices is empty!')
            self.scaled_reference_matrices['C'] = self.Cstr.copy()
            self.scaled_reference_matrices['K'] = self.Kstr.copy()

        self.Kstr = self.scaled_reference_matrices['K'] * time_ref ** 2
        self.Cstr = self.scaled_reference_matrices['C'] * time_ref

        self.freq_natural *= time_ref

Please let me know if this is an adequate workaround.

Documentation for Postprocessors being skipped by Sphinx in RTD

With the exception of SaveData and BeamPlot, RTD is failing to import the post processors' documentation due to the following error:

WARNING: autodoc: failed to import class 'postproc.asymptoticstability.AsymptoticStability' from module 'sharpy'; the following exception was raised:
cannot import name 'solvers' from 'sharpy' (/home/docs/checkouts/readthedocs.org/user_builds/ic-sharpy/checkouts/master/sharpy/__init__.py)

Allow CFL != 1in shedding step

The usual discretisation and implementation of the wake convection equation requires that it complies with CFL = 1 in both the shedding and the convection stages.

This requirement is not longer needed in the shedding stage due to a new implementation. It requires the activation of "cfl1" = False in the aerodynamic solvers.

Notice that it is only valid for the shedding stage. The rest of the wake still requires to comply with the condition of CFL =1.

It requires the update of UVLM.

Stall Model

Addition of a stall model to improve gust analysis

Potential Issue in the balancing direct method

Describe the bug
In sharpy/rom/balanced.py, In the ''Direct'' class of balancing method, after S, T, Tinv are calculated by the method in librom.py. The reduced state space matrix Ar, Br, Cr are calculated as:
Ar = T.dot(A.dot(Tinv))
Br = T.dot(B)
Cr = C.dot(Tinv)
I wonder if it should be:
Ar = Tinv.dot(A.dot(T))
Br = Tinv.dot(B)
Cr = C.dot(T)

I have used the direct method and the build-in frequency response function (in libss.py) to compare the Reduced-order state-space system with the full model.
The difference in frequency response does not decrease by increasing the number of states deployed. (i.e. a higher-order model)
By cross-validation with the literature and the iterative method, the code that I suggested above provides the correct result.

To Reproduce
I am using the Goland wing template given in the example (https://ic-sharpy.readthedocs.io/en/master/content/examples.html).
I have compared the direct balancing method with the rest of the ROM.

If model related, please try and reproduce with one of the provided models (found in /cases/). Else, please provided the input files (a .fem.h5, aero.h5 and case.sharpy).

Expected behavior
The frequency response of the reduced model should be close to the full model.

Screenshots
If applicable, add screenshots to help explain your problem.

System Info (please complete the following information):

  • OS: Ubuntu 20.04.3 LTS
  • SHARPy Version 1.3

Additional context
Add any other context about the problem here.

StaticTrim routine fails with Dynamic control surfaces

When a control surface is classified as Dynamic (i.e. in the aero.h5 input file control_surface_type[i_cs] = 1), the StaticTrim routine fails because it is unable to change the control surface deflection angle.

Minor impact since you can get the trim condition with the control surface as static first (i.e. control_surface_type[i_cs] = 0) and then run the Dynamic simulation starting from StaticCoupled with the already known trim values. However, this behaviour is worth fixing.

Why no pip support?

Hi all
thank you for open sourcing this.

I just recently installed SHARpy and it seems a bit odd to me that you don't have a setup.pyfile. As far as i understand, the whole stuff lives in the folder i cloned and is made available through the sharpy_vars.sh. Is there a specific reason you dont want to install it into the anaconda directory and make it available system wide without this script?

Maybe i misunderstood something? Could you clarify this?

If there is no specific reason, i would look into it.

Add recovery options

SHARPy should feature a postprocessor for dumping the whole data data structure into a pickle (for example) file in order to resume execution.

Unrecognised model in goland test case

Hello,
I just started playing with SHARPy, and to start I downloaded the Goland wing test case and run it on my machine (using the Docker application).
During the simulation, some warning occured of unrecognised setting:

Unrecognised setting: rigid_body_motion. Please check input file and/or documentation
Unrecognised setting: use_euler. Please check input file and/or documentation
Unrecognised setting: compute_fom. Please check input file and/or documentation.

I checked on the webpage and those messages don't appear in the simulation results mentioned on the doc, so I would like to ask if there is something I am missing.
For completeness I attach the whole messages out of the simulation.

Best regards,
Alessandro Sgueglia
goland_log.log

Dimension mismatch when assembling linear UVLM with "shortened" wake

There is a dimension mismatch when trying to assemble the linear UVLM surfaces when the wake has been "shortened" by the AerogridPlot postprocessor with setting minus_m_star being other than 0.

Relevant error:

The aerodynamic grid contains 20 surfaces
  Surface 0, M=4, N=32
     Wake 0, M=142, N=32
  Surface 1, M=4, N=32
     Wake 1, M=142, N=32
  Surface 2, M=3, N=2
     Wake 2, M=142, N=2
  Surface 3, M=3, N=2
     Wake 3, M=142, N=2
  Surface 4, M=3, N=2
     Wake 4, M=142, N=2
  Surface 5, M=3, N=2
     Wake 5, M=142, N=2
  Surface 6, M=3, N=2
     Wake 6, M=142, N=2
  Surface 7, M=3, N=2
     Wake 7, M=142, N=2
  Surface 8, M=3, N=2
     Wake 8, M=142, N=2
  Surface 9, M=3, N=2
     Wake 9, M=142, N=2
  Surface 10, M=3, N=2
     Wake 10, M=142, N=2
  Surface 11, M=3, N=2
     Wake 11, M=142, N=2
  Surface 12, M=4, N=2
     Wake 12, M=142, N=2
  Surface 13, M=4, N=2
     Wake 13, M=142, N=2
  Surface 14, M=4, N=2
     Wake 14, M=142, N=2
  Surface 15, M=4, N=2
     Wake 15, M=142, N=2
  Surface 16, M=4, N=2
     Wake 16, M=142, N=2
  Surface 17, M=4, N=2
     Wake 17, M=142, N=2
  Surface 18, M=4, N=2
     Wake 18, M=142, N=2
  Surface 19, M=4, N=2
     Wake 19, M=142, N=2
  In total: 380 bound panels
  In total: 14200 wake panels
  Total number of panels = 14580
Generating an instance of StaticCoupled
Generating an instance of NonLinearStatic
Generating an instance of StaticUvlm
Generating an instance of DynamicCoupled
Generating an instance of NonLinearDynamicCoupledStep
Generating an instance of StepUvlm
Generating an instance of BeamLoads
Generating an instance of BeamPlot
Generating an instance of AerogridPlot
Generating an instance of Modal
Generating an instance of LinearAssembler
Generating an instance of LinearUVLM
Initialising Static linear UVLM solver class...
Number of surfaces 20

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

i_surf = 0
Bound Surface
M = 4 and N = 32 from timestep info
Gamma shape: (4, 32)
Zeta shape: (3, 5, 33)
Zeta dot shape: (3, 5, 33)
Generating an instance of AeroGridMap

Generating instance of AerogridSurface
Circulation matrix shape = (4, 32)
Grid dimensions (from gridmapping.AeroGridMap) = (4, 32)
Generating an instance of AeroGridMap

Wake Surface
M = 141 and N = 32 from timestep info

Generating instance of AerogridSurface
Circulation matrix shape = (142, 32)
Grid dimensions (from gridmapping.AeroGridMap) = (141, 32)
Exception raised, writing error log in /home/ng213/sharpy_cases/ZZ_Airbus/BB_XHALE_Test/output/error.log
Traceback (most recent call last):
  File "/home/ng213/sharpy_cases/ZZ_Airbus/BB_XHALE_Test/generate_xhale.py", line 1948, in <module>
    sharpy.sharpy_main.main(['', './xhale_ifasd_1.sharpy'])
  File "/home/ng213/code_test/sharpy/sharpy/sharpy_main.py", line 124, in main
    raise e
  File "/home/ng213/code_test/sharpy/sharpy/sharpy_main.py", line 99, in main
    solver.initialise(data)
  File "/home/ng213/code_test/sharpy/sharpy/solvers/linearassembler.py", line 113, in initialise
    lsys.initialise(data)
  File "/home/ng213/code_test/sharpy/sharpy/linear/assembler/linearaeroelastic.py", line 100, in initialise
    self.uvlm.initialise(data, custom_settings=self.settings['aero_settings'])
  File "/home/ng213/code_test/sharpy/sharpy/linear/assembler/linearuvlm.py", line 193, in initialise
    for_vel=np.hstack((cga.dot(for_vel[:3]), cga.dot(for_vel[3:]))))
  File "/home/ng213/code_test/sharpy/sharpy/linear/src/linuvlm.py", line 537, in __init__
    super().__init__(tsdata, for_vel=for_vel)
  File "/home/ng213/code_test/sharpy/sharpy/linear/src/linuvlm.py", line 74, in __init__
    MS = multisurfaces.MultiAeroGridSurfaces(tsdata, for_vel=for_vel)
  File "/home/ng213/code_test/sharpy/sharpy/linear/src/multisurfaces.py", line 89, in __init__
    rho=tsdata.rho)
  File "/home/ng213/code_test/sharpy/sharpy/linear/src/surface.py", line 303, in __init__
    assert self.gamma.shape == (self.maps.M, self.maps.N), msg_out
AssertionError: wrong input shape!

Include viscous drag force from airfoil properties

Viscous drag force can be included in the computations. It is interpolated from airfoil properties tables: angle of attack - CL - CD - CM included in the aero.h5 file.

To activate this correction, set the new setting in coupled solvers: "correct_forces_method" = 'polars'.

Integrate env vars into Anaconda

I just wanted to mention, it is possible to set the environment variables in Anacoda , this way, the script "bin/sharpy_vars.sh" is not needed:

conda env config vars set SCRIPTPATH=PATH_TO_YOUR_INSTALL/sharpy/bin
conda env config vars set PYTHONPATH=$SCRIPTPATH"/.."
conda env config vars set PATH=$SCRIPTPATH:$PATH

Now, when you activate the environment, those variables are set automatically. They are also unset if you deactivate the environment later.

Plunging Motion

Hi, I'm doing some research for the University of Alabama in Huntsville and was wondering if this software had a set up way to model plunging motion of an airfoil. I've run through the Goland wing example as it was the most similar but nothing struck me as though it would fit for this application. Any help would be appreciated.

Include gravity direction as input for structural solvers

Right now gravity always acts on the z direction in SHARPy.

However, xbeam allows gravity to be applied in any direction. Thus, it seems that we have ready the most laborious part of this feature and we are just missing the interface.

Recover vortex core in UVLM

The vortex core option is recovered in UVLM to avoid very large values of induced velocity that are unphysical. They come from the singularties in the vortex field.

It slightly increases the computational time.
It requires the updating of the UVLM library.

Simulation of some new configuration (e.g., box-wings or Joined wing)

Hi, I'm doing some research on the aeroelasticity property of a joined wing configuration, and not sure if SHARpy can do those simulations of such configurations and which module should be involved, or if it can't, could you give me some idea which code I should work on to accomplish this? I think most probably is the structural module. Great appreciate for any help.

examples refer to non-existent solver SHWUvlm

A few SHARPy examples for Jupyter notebooks specify a solver SHWUvlm. There is no reference to SHWUvlm in the repository, nor any documentation. The problem is in the wind turbine example, and "SHWUvlm" appears in other examples as well.

The first symptom is an unhandled Python exception at a line indexing solvers, e.g., SimInfo.solvers['SHWUvlm']['convection_scheme'] = 2

I would assume SHWUvlm has been superseded by another solver, but it is unclear to a new user how to find a suitable replacement that will yield comparable results.

Aero solver SHWUvlm appears in version 1.1, but not in the current version.

run_theo_freq.py fails in Docker container

For openjournals/joss-reviews#1885.

I'm assuming one would want to be able to run the example cases from the Docker container.

Firstly, I had to install matplotlib, since it's imported in the script. After that, I get the error:

Traceback (most recent call last):
  File "run_theo_freq.py", line 236, in <module>
    Sol = lin_aeroelastic.LinAeroEla(data0)
  File "/sharpy/sharpy/linear/src/lin_aeroelastic.py", line 118, in __init__
    self.lingebm_str = lingebm.FlexDynamic(self.tsstr, structure, beam_settings)
  File "/sharpy/sharpy/linear/src/lingebm.py", line 119, in __init__
    self.Nmodes = self.settings['num_modes']
KeyError: 'num_modes'

List of dependencies when installing sharpy without conda?

Hi,

On many HPC clusters, conda is not supported, because it creates a large number of small files (a simple conda installation can easily accumulate 100k-200k files with an average filesize of KB), which does have a negative impact on the performance of parallel high-performance file systems like Lustre. Apart from the Lustre file system, our cluster also has some home directories for the users, but there we have a inode quota of 100k (with more than 3000 users, this is a must, as we have a nightly backup of all home directories and therefore we need to limit the total number of files as the backup needs to be finished within 24 hours) and therefore users cannot install conda locally in their home directory.

But we have a large portfolio of centrally installed software:

https://scicomp.ethz.ch/wiki/Euler_applications_and_libraries

I think it would be feasible for us to install sharpy centrally without using conda. Can you please provide a list of the required dependencies (not conda packages, not OS rpms, just the libraries that are required)?

Best regards

Sam

[develop] Documentation for postprocs not rendering in RTD

In the develop branch, the following postprocs are not rendering any docs in RTD:

  • AeroForcesCalculator
  • SaveParametricCase
  • UDPOut
  • WriteVariablesTime

It doesn't seem to be the usual np.array suspect though, so opening this issue so we don't forget before the next release

Update packages producing deprecation warnings and tackle other warnings

Running the tests produces a quite a list of warnings (including deprecation warnings) so it may be time for an update of the underlying packages in the environment file. From the test log (in Travis) we get the following warnings:

Feel free to update and tick off if you fix any:

  • Pending DeprecationWarning in test_fix_node_velocity_wrtA (multiple occurrences):
/home/travis/build/ImperialCollegeLondon/sharpy/tests/coupled/multibody/fix_node_velocity_wrtA/test_fix_node_velocity_wrtA.py:165: 
PendingDeprecationWarning: the matrix subclass is not the recommended way to represent matrices or deal with linear algebra (see https://docs.scipy.org/doc/numpy/user/numpy-for-matlab-users.html). Please adjust your code to use regular ndarray.
  • User Warnings in those tests (not sure if this intended or arises as part of the test):
.WARNING: The poisson cofficient is assumed equal to 0.3
WARNING: Cross-section area is used as shear area
WARNING: Using perpendicular axis theorem to compute the inertia around xB
WARNING: Replacing node  49 by node  0
WARNING: Replacing node  98 by node  0
  • SparseEfficiency Warning in Linear UVLM:
/home/travis/miniconda/envs/sharpy_minimal/lib/python3.7/site-packages/scipy/sparse/_index.py:126: SparseEfficiencyWarning: Changing the sparsity structure of a csc_matrix is expensive. lil_matrix is more efficient.
  • Complex Warning in Krylov ROM:
/home/travis/build/ImperialCollegeLondon/sharpy/sharpy/rom/utils/krylovutils.py:279: ComplexWarning: Casting complex values to real discards the imaginary part
982  w[:, k] = G[:, k]
983/home/travis/build/ImperialCollegeLondon/sharpy/sharpy/rom/utils/krylovutils.py:309: ComplexWarning: Casting complex values to real discards the imaginary part
984  w[:, t] = lu_solve(lu_A_input, w[:, t-mu], transpose_mode)
  • Linear UVLM Verbose uses print rather than cout (so that it can be turned off by the write_screen setting):
state-space model produced in form:
1145	h_{n+1} = A h_{n} + B u_{n}
1146	with:
1147	x_n = h_n + Bp u_n
1148			...done in 1.80 sec
  • DynamicCoupled Runtime warning because of divide by zero:
/home/travis/build/ImperialCollegeLondon/sharpy/sharpy/solvers/dynamiccoupled.py:449: RuntimeWarning: divide by zero encountered in log10
1257  np.log10(self.res_dqdt),

Incorrect version tag displayed when running SHARPy

The version tags we have been using are lightweight tags and, hence, when running

def get_git_tag(di=sharpydir.SharpyDir):
    return subprocess.check_output(['git', 'describe'], cwd=di).strip().decode('utf-8')

it returns v0.1 instead of the correct version.

For future releases we need to ensure the tags are annotated tags.

fatal error: mkl.h: No such file or directory

Dear developers,

I try to compile sharpy according to the installation guide.
Everything goes well until the compilation of UVLM.

The information is given as follows:

(sharpy_env) lj@lj:~/code/UVLM$ ./run_make.sh
mkdir -p lib
make -C src/
make[1]: Entering directory '/home/lj/code/UVLM/src'
g++ -fPIC -O3 -march=x86-64 -std=c++14 -DEIGEN_USE_MKL_ALL -I/home/lj/anaconda3/envs/sharpy_env/include -I/home/lj/anaconda3/envs/sharpy_env/include/eigen3 -fomit-frame-pointer -ffast-math -fopenmp -I../include -c cpp_interface.cpp
In file included from /home/lj/anaconda3/envs/sharpy_env/include/eigen3/Eigen/Core:100:0,
from /home/lj/anaconda3/envs/sharpy_env/include/eigen3/Eigen/Dense:1,
from /home/lj/anaconda3/envs/sharpy_env/include/eigen3/Eigen/Eigen:1,
from ../include/EigenInclude.h:11,
from ../include/cpp_interface.h:2,
from cpp_interface.cpp:1:
/home/lj/anaconda3/envs/sharpy_env/include/eigen3/Eigen/src/Core/util/MKL_support.h:58:13: fatal error: mkl.h: No such file or directory

include <mkl.h>

         ^~~~~~~

compilation terminated.
Makefile:56: recipe for target 'cpp_interface.o' failed
make[1]: *** [cpp_interface.o] Error 1
make[1]: Leaving directory '/home/lj/code/UVLM/src'
Makefile:9: recipe for target 'default' failed
make: *** [default] Error 2
cp: cannot stat 'lib/*': No such file or directory

I have installed MKL successfully by using the command "conda install -c anaconda mkl".
But I don't know why the error still happens?
Could you help me on this issue?

Thanks and best regards,
LJ

Update citation instructions

The README.md is the root directory suggests to cite sharpy using the Zenodo DOI. Now that we have the JOSS publication, it'd be much better to consolidate the citations. Probably somewhere in the documentation it has to be changed too.

The citation should be:

del Carre et al., (2019). SHARPy: A dynamic aeroelastic simulation toolbox for very flexible aircraft and wind turbines. Journal of Open Source Software, 4(44), 1885, https://doi.org/10.21105/joss.01885

And if we want to make things as easy as possible, the bibtex is:

@Article{delCarre2019,
doi = {10.21105/joss.01885},
url = {https://doi.org/10.21105/joss.01885},
year = {2019},
month = dec,
publisher = {The Open Journal},
volume = {4},
number = {44},
pages = {1885},
author = {Alfonso del Carre and Arturo Mu{~{n}}oz-Sim{'{o}}n and Norberto Goizueta and Rafael Palacios},
title = {{SHARPy}: A dynamic aeroelastic simulation toolbox for very flexible aircraft and wind turbines},
journal = {Journal of Open Source Software}
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.