File mbdyn.spec of Package mbdyn

#
# spec file for package mbdyn
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

Name:		   mbdyn
Version:	   1.7.3
Release:	   0
Summary:	   Multibody Dynamics analysis software
License:	   GPL-2.0-only
Group:         Productivity/Scientific/Math
Url:		   https://www.mbdyn.org
Source0:	   %{name}-%{version}.tar.gz
BuildRequires: autoconf
BuildRequires: gcc-c++
BuildRequires: gcc-fortran
BuildRequires: python2-devel
BuildRequires: python2-numpy-devel
BuildRequires: swig
BuildRequires: gawk
BuildRequires: libginac-devel
BuildRequires: arpack-ng-devel
BuildRequires: octave-devel
BuildRequires: openmpi-devel
BuildRequires: mpich-devel
BuildRequires: lapack-devel
BuildRequires: libtool
BuildRequires: libatomic_ops-devel
BuildRequires: pkgconfig
BuildRequires: doxygen
BuildRequires: graphviz
BuildRequires: blas-devel
BuildRequires: suitesparse-devel
BuildRequires: libboost_system-devel
BuildRequires: superlu-devel
BuildRequires: netcdf-devel
BuildRequires: libnetcdf_c++-devel
BuildRequires: metis-devel
BuildRequires: pam-devel
BuildRequires: ann-devel
BuildRequires: fdupes

%description
MBDyn is the first and possibly the only free* general purpose Multibody 
Dynamics analysis software, released under GNU's GPL 2.1 (get a cached copy here).
It has been developed at the Dipartimento di Scienze e Tecnologie Aerospaziali 
(formerly Dipartimento di Ingegneria Aerospaziale) of the University 
"Politecnico di Milano", Italy.
MBDyn features the integrated multidisciplinary simulation of multibody, 
multiphysics systems, including nonlinear mechanics of rigid and flexible
bodies (geometrically exact & composite-ready beam and shell finite elements, 
component mode synthesis elements, lumped elements) subjected to kinematic 
constraints, along with smart materials, electric networks, active control, 
hydraulic networks, and essential fixed-wing and rotorcraft aerodynamics.
MBDyn simulates the behavior of heterogeneous mechanical, aeroservoelastic 
systems based on first principles equations.
MBDyn can be easily coupled to external solvers for co-simulation of
multiphysics problems, e.g. Computational Fluid Dynamics (CFD), terradynamics, 
block-diagram solvers like Scicos, Scicoslab and Simulink, using a simple 
C, C++ or Python peer-side API.
MBDyn is being actively developed and used in the aerospace (aircraft, 
helicopters, tiltrotors, spacecraft), wind energy (wind turbines), automotive
(cars, trucks) and mechatronic fields (industrial robots, parallel robots, 
micro aerial vehicles (MAV)) for the analysis and simulation of the dynamics 
of complex systems.

%package devel
Summary:        Multibody Dynamics analysis software developer files)
Group:          Development/Libraries/C and C++

%description devel
MBDyn is the first and possibly the only free* general purpose Multibody 
Dynamics analysis software, released under GNU's GPL 2.1 (get a cached copy here).
It has been developed at the Dipartimento di Scienze e Tecnologie Aerospaziali 
(formerly Dipartimento di Ingegneria Aerospaziale) of the University 
"Politecnico di Milano", Italy.
MBDyn features the integrated multidisciplinary simulation of multibody, 
multiphysics systems, including nonlinear mechanics of rigid and flexible
bodies (geometrically exact & composite-ready beam and shell finite elements, 
component mode synthesis elements, lumped elements) subjected to kinematic 
constraints, along with smart materials, electric networks, active control, 
hydraulic networks, and essential fixed-wing and rotorcraft aerodynamics.
MBDyn simulates the behavior of heterogeneous mechanical, aeroservoelastic 
systems based on first principles equations.
MBDyn can be easily coupled to external solvers for co-simulation of
multiphysics problems, e.g. Computational Fluid Dynamics (CFD), terradynamics, 
block-diagram solvers like Scicos, Scicoslab and Simulink, using a simple 
C, C++ or Python peer-side API.
MBDyn is being actively developed and used in the aerospace (aircraft, 
helicopters, tiltrotors, spacecraft), wind energy (wind turbines), automotive
(cars, trucks) and mechatronic fields (industrial robots, parallel robots, 
micro aerial vehicles (MAV)) for the analysis and simulation of the dynamics 
of complex systems. 

This package contains the developer files (.so file, header files).

%package doc
Summary:        Multibody Dynamics analysis software (documentation files)
Group:          Documentation/Other

%description doc
MBDyn is the first and possibly the only free* general purpose Multibody 
Dynamics analysis software, released under GNU's GPL 2.1 (get a cached copy here).
It has been developed at the Dipartimento di Scienze e Tecnologie Aerospaziali 
(formerly Dipartimento di Ingegneria Aerospaziale) of the University 
"Politecnico di Milano", Italy.
MBDyn features the integrated multidisciplinary simulation of multibody, 
multiphysics systems, including nonlinear mechanics of rigid and flexible
bodies (geometrically exact & composite-ready beam and shell finite elements, 
component mode synthesis elements, lumped elements) subjected to kinematic 
constraints, along with smart materials, electric networks, active control, 
hydraulic networks, and essential fixed-wing and rotorcraft aerodynamics.
MBDyn simulates the behavior of heterogeneous mechanical, aeroservoelastic 
systems based on first principles equations.
MBDyn can be easily coupled to external solvers for co-simulation of
multiphysics problems, e.g. Computational Fluid Dynamics (CFD), terradynamics, 
block-diagram solvers like Scicos, Scicoslab and Simulink, using a simple 
C, C++ or Python peer-side API.
MBDyn is being actively developed and used in the aerospace (aircraft, 
helicopters, tiltrotors, spacecraft), wind energy (wind turbines), automotive
(cars, trucks) and mechatronic fields (industrial robots, parallel robots, 
micro aerial vehicles (MAV)) for the analysis and simulation of the dynamics 
of complex systems. 

This package contains the documentation files.

%package aster
Summary:        Multibody Dynamics analysis software
Group:          Productivity/Scientific/Math

%description aster
MBDyn is the first and possibly the only free* general purpose Multibody 
Dynamics analysis software, released under GNU's GPL 2.1 (get a cached copy here).
It has been developed at the Dipartimento di Scienze e Tecnologie Aerospaziali 
(formerly Dipartimento di Ingegneria Aerospaziale) of the University 
"Politecnico di Milano", Italy.
MBDyn features the integrated multidisciplinary simulation of multibody, 
multiphysics systems, including nonlinear mechanics of rigid and flexible
bodies (geometrically exact & composite-ready beam and shell finite elements, 
component mode synthesis elements, lumped elements) subjected to kinematic 
constraints, along with smart materials, electric networks, active control, 
hydraulic networks, and essential fixed-wing and rotorcraft aerodynamics.
MBDyn simulates the behavior of heterogeneous mechanical, aeroservoelastic 
systems based on first principles equations.
MBDyn can be easily coupled to external solvers for co-simulation of
multiphysics problems, e.g. Computational Fluid Dynamics (CFD), terradynamics, 
block-diagram solvers like Scicos, Scicoslab and Simulink, using a simple 
C, C++ or Python peer-side API.
MBDyn is being actively developed and used in the aerospace (aircraft, 
helicopters, tiltrotors, spacecraft), wind energy (wind turbines), automotive
(cars, trucks) and mechatronic fields (industrial robots, parallel robots, 
micro aerial vehicles (MAV)) for the analysis and simulation of the dynamics 
of complex systems. 

This package contains the aster interface.

%package awk
Summary:        Multibody Dynamics analysis software
Group:          Productivity/Scientific/Math

%description awk
MBDyn is the first and possibly the only free* general purpose Multibody 
Dynamics analysis software, released under GNU's GPL 2.1 (get a cached copy here).
It has been developed at the Dipartimento di Scienze e Tecnologie Aerospaziali 
(formerly Dipartimento di Ingegneria Aerospaziale) of the University 
"Politecnico di Milano", Italy.
MBDyn features the integrated multidisciplinary simulation of multibody, 
multiphysics systems, including nonlinear mechanics of rigid and flexible
bodies (geometrically exact & composite-ready beam and shell finite elements, 
component mode synthesis elements, lumped elements) subjected to kinematic 
constraints, along with smart materials, electric networks, active control, 
hydraulic networks, and essential fixed-wing and rotorcraft aerodynamics.
MBDyn simulates the behavior of heterogeneous mechanical, aeroservoelastic 
systems based on first principles equations.
MBDyn can be easily coupled to external solvers for co-simulation of
multiphysics problems, e.g. Computational Fluid Dynamics (CFD), terradynamics, 
block-diagram solvers like Scicos, Scicoslab and Simulink, using a simple 
C, C++ or Python peer-side API.
MBDyn is being actively developed and used in the aerospace (aircraft, 
helicopters, tiltrotors, spacecraft), wind energy (wind turbines), automotive
(cars, trucks) and mechatronic fields (industrial robots, parallel robots, 
micro aerial vehicles (MAV)) for the analysis and simulation of the dynamics 
of complex systems. 

This package contains the mbdyn awk scripts.

%package octave
Summary:        Multibody Dynamics analysis software
Group:          Productivity/Scientific/Math

%description octave
MBDyn is the first and possibly the only free* general purpose Multibody 
Dynamics analysis software, released under GNU's GPL 2.1 (get a cached copy here).
It has been developed at the Dipartimento di Scienze e Tecnologie Aerospaziali 
(formerly Dipartimento di Ingegneria Aerospaziale) of the University 
"Politecnico di Milano", Italy.
MBDyn features the integrated multidisciplinary simulation of multibody, 
multiphysics systems, including nonlinear mechanics of rigid and flexible
bodies (geometrically exact & composite-ready beam and shell finite elements, 
component mode synthesis elements, lumped elements) subjected to kinematic 
constraints, along with smart materials, electric networks, active control, 
hydraulic networks, and essential fixed-wing and rotorcraft aerodynamics.
MBDyn simulates the behavior of heterogeneous mechanical, aeroservoelastic 
systems based on first principles equations.
MBDyn can be easily coupled to external solvers for co-simulation of
multiphysics problems, e.g. Computational Fluid Dynamics (CFD), terradynamics, 
block-diagram solvers like Scicos, Scicoslab and Simulink, using a simple 
C, C++ or Python peer-side API.
MBDyn is being actively developed and used in the aerospace (aircraft, 
helicopters, tiltrotors, spacecraft), wind energy (wind turbines), automotive
(cars, trucks) and mechatronic fields (industrial robots, parallel robots, 
micro aerial vehicles (MAV)) for the analysis and simulation of the dynamics 
of complex systems. 

This package contains the mbdyn octave scripts.

%package -n libmbc0 
Summary:        Multibody Dynamics analysis software
Group:          Productivity/Scientific/Math

%description -n libmbc0
MBDyn is the first and possibly the only free* general purpose Multibody 
Dynamics analysis software, released under GNU's GPL 2.1 (get a cached copy here).
It has been developed at the Dipartimento di Scienze e Tecnologie Aerospaziali 
(formerly Dipartimento di Ingegneria Aerospaziale) of the University 
"Politecnico di Milano", Italy.
MBDyn features the integrated multidisciplinary simulation of multibody, 
multiphysics systems, including nonlinear mechanics of rigid and flexible
bodies (geometrically exact & composite-ready beam and shell finite elements, 
component mode synthesis elements, lumped elements) subjected to kinematic 
constraints, along with smart materials, electric networks, active control, 
hydraulic networks, and essential fixed-wing and rotorcraft aerodynamics.
MBDyn simulates the behavior of heterogeneous mechanical, aeroservoelastic 
systems based on first principles equations.
MBDyn can be easily coupled to external solvers for co-simulation of
multiphysics problems, e.g. Computational Fluid Dynamics (CFD), terradynamics, 
block-diagram solvers like Scicos, Scicoslab and Simulink, using a simple 
C, C++ or Python peer-side API.
MBDyn is being actively developed and used in the aerospace (aircraft, 
helicopters, tiltrotors, spacecraft), wind energy (wind turbines), automotive
(cars, trucks) and mechatronic fields (industrial robots, parallel robots, 
micro aerial vehicles (MAV)) for the analysis and simulation of the dynamics 
of complex systems. 

This package contains the main shared library.

%prep
%setup -q

%build

%configure --enable-multithread \
           --enable-runtime-loading \
           --enable-netcdf \
           --enable-shared \
           --disable-static \
           --without-metis


# Some of these dont work most of them are from suitespars but for 
# some reason autotools does not recognize that they are present
# We must ask masarati or morandini what could be sane defaults
# The python interface makefile must be patched to isntall libs in 
# the correct location
#              --enable-octave \                 
#              --with-blas=auto \                   
#              --with-ginac \              
#              --with-bullet \ 
#              --with-umfpack \ 
#              --with-klu \ 
#              --with-meschach \ 
#              --with-sasl2 \ 
#              --with-superlu \ 
#              --with-wsmp \ 
#              --with-jdqz \
#              --with-ann \
#             --with-lapack \
#             --with-boost \
#             --enable-eig \
#             --enable-mbc \
#             --enable-autodiff \
#             --with-g2c \
#             --with-metis \
#             --with-boost \
#             --with-y12 \
#             --with-arpack \
#             --with-pam \
#             --with-threads
            
make %{?_smp_flags} 

%install
%make_install

%files
%{_bindir}/ann_in
%{_bindir}/ann_sf
%{_bindir}/ann_sim
%{_bindir}/ann_tr
%{_bindir}/autopilot
%{_bindir}/c81merge
%{_bindir}/c81test
%{_bindir}/cl
%{_bindir}/crypt
%{_bindir}/dae-intg
%{_bindir}/deriv
%{_bindir}/eu2phi
%{_bindir}/eu2rot
%{_bindir}/femgen
%{_bindir}/intg
%{_bindir}/mbdyn
%{_bindir}/mbdyn2easyanim.sh
%{_bindir}/posrel
%{_bindir}/printenv
%{_bindir}/rot2eu
%{_bindir}/rot2eup
%{_bindir}/rot2phi
%{_bindir}/rotrel
%{_bindir}/sockdrive
%{_bindir}/socket2stream
%{_bindir}/stream2socket
%{_bindir}/trim
%{_bindir}/vec2rot
%{_datadir}/c81

%files devel
%{_includedir}/mbc.h
%{_includedir}/mbcxx.h
%exclude %{_libdir}/libmbc.la
%{_libdir}/libmbc.so

%files aster
%{_datadir}/Aster

%files awk
%{_datadir}/awk/abs2rel.awk
%{_datadir}/awk/mbdyn2easyanim.awk
%{_datadir}/awk/mbdyn2pod.awk
%{_datadir}/awk/mbdyn_mov2ref.awk
%{_datadir}/awk/mbdyn_ref2log.awk
%{_datadir}/awk/periodize.awk

%files octave
%{_datadir}/octave/gradnorm.m
%{_datadir}/octave/mbdyn_derivative.m
%{_datadir}/octave/pod.m
%{_datadir}/octave/rotation_increment_gibbs_rodriguez.m
%{_datadir}/octave/rotation_perturbation_matrix_gibbs_rodriguez.m

%files doc
%{_mandir}/man1/femgen.1.gz
%{_mandir}/man1/mbdyn.1.gz

%files -n libmbc0
%{_libdir}/libmbc.so.0
%{_libdir}/libmbc.so.0.0.0

%changelog