public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/proj/guru:dev commit in: sci-physics/mbdyn/, profiles/desc/
@ 2022-05-27 11:28 Alessandro Barbieri
  0 siblings, 0 replies; only message in thread
From: Alessandro Barbieri @ 2022-05-27 11:28 UTC (permalink / raw
  To: gentoo-commits

commit:     f548beeb36894738ee81d67ee7ab13d60efe5e26
Author:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Thu May 26 23:44:49 2022 +0000
Commit:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
CommitDate: Fri May 27 11:28:07 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=f548beeb

sci-physics/mbdyn: move MBDYN_MODULE to profiles/desc

Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>

 profiles/desc/mbdyn_module.desc                   |  70 ++++++++++++++
 sci-physics/mbdyn/mbdyn-1.7.3_p20210925-r1.ebuild | 108 ++++++----------------
 sci-physics/mbdyn/metadata.xml                    |  66 -------------
 3 files changed, 96 insertions(+), 148 deletions(-)

diff --git a/profiles/desc/mbdyn_module.desc b/profiles/desc/mbdyn_module.desc
new file mode 100644
index 000000000..d217ff215
--- /dev/null
+++ b/profiles/desc/mbdyn_module.desc
@@ -0,0 +1,70 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# This file contains descriptions of MBDYN_MODULE USE_EXPAND flags.
+
+FMU - This is a module to import and cosimulation of FMUs, developed using FMI standards, for MBDyn
+aerodyn - This is MBDyn's module for the wind-turbine aerodynamics library AeroDyn
+asynchronous-machine - The purpose of this code is the simulation of an asynchronous electrical machine as a part of a multibody model
+autodiff-test - This element implements a inline joint with friction
+ballbearing-contact - ball bearing contact
+bullet - sci-physics/bullet module
+charm - This module implements a user-defined induced velocity element based on CDI's CHARM free wake
+constlaw-f90 - This directory contains an example of run-time loadable constitutive law written in Fortran 90
+constlaw-f95 - This directory contains an example of run-time loadable constitutive law written in Fortran 95
+constlaw - This directory contains an example of run-time loadable constitutive law
+cont-contact - continuous contact
+controller - controller module
+convtest - convergence test module
+cyclocopter - This module implements induced velocity models for cycloidal rotors
+damper-gandhi - Gandhi, F. and Chopra, I., "An analytical model for a nonlinear elastomeric lag damper and its effect on aeromechanical stability in hover" Journal of the American Helicopter Society, Vol. 39, 1994, pp. 59-69.
+damper-graall - GRAALL Damper Constitutive Law
+damper-hydraulic - Hydraulic Damper Constitutive Law
+damper - It implements a 1D constitutive law based on a generic nonlinear rheological formula, whose coefficients are computed by means of parameter identification from experimental measurements
+diff - diff drive module
+dot - dot language module
+drive-test - drive test module
+drive - example of run-time loadable drive
+dummy - Dummy module --- does nothing, used to test the infrastructure
+eu2phi - converts three Euler angles into the corresponding Euler vector
+fab-electric - Library of electric components for "digital fabrication" machines
+fab-motion - Library of motion transmission components for "digital fabrication" machines
+fab-sbearings - Library of bearings for "digital fabrication" machines
+fabricate - Library of components of "digital fabrication" machines
+flightgear - flightgear module
+friction - eXperimental friction model
+friction3 - eXperimental friction model (2nd try)
+hfelem - Harmonic Excitation Element
+hid - This module registers a file driver that captures the input from HID USB devices (only tested with some joysticks)
+hunt-crossley - HuntCrossley constitutive law
+hydrodynamic-plain-bearing - This module implements a hydrodynamic plain bearing according to Hans Juergen Butenschoen 1976 Das hydrodynamische zylindrische Gleitlager endlicher Breite unter instationaerer Belastung
+hydrodynamic-plain-bearing2 - module hydrodynamic plain bearing2
+imu - implements two uses of a IMU
+indvel - This module implements a dummy induced velocity model
+inline-friction - This element implements a inline joint with friction
+inplane-friction - In plane friction
+journal-bearing - This element implements a journal bearing with lugre friction
+leapmotion - leapmotion hand
+loadinc - load increment normalization
+marble - marble model for icecube robot
+md - MD module
+mds - mds module
+minmaxdrive - minmaxdrive module
+multi-step-drive - multi step drive module
+muscles - muscle module
+namespace - namespace module
+nodedistdrive - node dist drive module
+nonsmooth-node - Defines a unilateral constraint in form of a contact between a node and one or more planes, optionally with friction
+ns - ns1 module
+octave - octave module
+randdrive - rand drive module
+rollercoaster - rollercoaster module
+rotor-loose-coupling - rotor loose coupling
+scalarfunc - example of run-time loadable scalar function
+switch-drive - switch drive module
+tclpgin - tcl plugin
+triangular-contact - This element implements unilateral contact with friction between an arbitrary rigid body, represented by a triangular mesh, and a set of nodes with arbitrary offsets
+udunits - This module adds a namespace "units" with the only function "convert", which is thus invoked as "units::convert"
+uni-in-plane - This element implements the unilateral contact between a point and a plane
+wheel2 - Connects 2 structural nodes: Wheel Ground
+wheel4 - L. Gagnon, M. J. Richard, P. Masarati, M. Morandini, and G. Dore. Multibody simulation of tires operating on an uneven road. In Multibody Dynamics 2011, 4-7 July 2011

diff --git a/sci-physics/mbdyn/mbdyn-1.7.3_p20210925-r1.ebuild b/sci-physics/mbdyn/mbdyn-1.7.3_p20210925-r1.ebuild
index 442cd6e0d..73aa5c47f 100644
--- a/sci-physics/mbdyn/mbdyn-1.7.3_p20210925-r1.ebuild
+++ b/sci-physics/mbdyn/mbdyn-1.7.3_p20210925-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -17,75 +17,23 @@ S="${WORKDIR}/${MYP}"
 LICENSE="GPL-2"
 SLOT="0"
 KEYWORDS="~amd64"
-#	mbdyn-module-FMU # needs fmi-library
-#	mbdyn-module-aerodyn # needs aerodyn
-#	mbdyn-module-cudatest # needs cuda
-IUSE_MBDYN_MODULE="
-	mbdyn-module-asynchronous_machine
-	mbdyn-module-autodiff_test
-	mbdyn-module-ballbearing_contact
-	mbdyn-module-bullet
-	mbdyn-module-charm
-	mbdyn-module-constlaw-f90
-	mbdyn-module-constlaw-f95
-	mbdyn-module-constlaw
-	mbdyn-module-cont-contact
-	mbdyn-module-controller
-	mbdyn-module-convtest
-	mbdyn-module-cyclocopter
-	mbdyn-module-damper-gandhi
-	mbdyn-module-damper-graall
-	mbdyn-module-damper-hydraulic
-	mbdyn-module-damper
-	mbdyn-module-diff
-	mbdyn-module-dot
-	mbdyn-module-drive-test
-	mbdyn-module-drive
-	mbdyn-module-dummy
-	mbdyn-module-eu2phi
-	mbdyn-module-fab-electric
-	mbdyn-module-fab-motion
-	mbdyn-module-fab-sbearings
-	mbdyn-module-fabricate
-	mbdyn-module-flightgear
-	mbdyn-module-friction
-	mbdyn-module-friction3
-	mbdyn-module-hfelem
-	mbdyn-module-hid
-	mbdyn-module-hunt-crossley
-	mbdyn-module-hydrodynamic_plain_bearing
-	mbdyn-module-hydrodynamic_plain_bearing2
-	mbdyn-module-imu
-	mbdyn-module-indvel
-	mbdyn-module-inline_friction
-	mbdyn-module-inplane_friction
-	mbdyn-module-journal_bearing
-	mbdyn-module-leapmotion
-	mbdyn-module-loadinc
-	mbdyn-module-marble
-	mbdyn-module-md
-	mbdyn-module-mds
-	mbdyn-module-minmaxdrive
-	mbdyn-module-multi_step_drive
-	mbdyn-module-muscles
-	mbdyn-module-namespace
-	mbdyn-module-nodedistdrive
-	mbdyn-module-nonsmooth-node
-	mbdyn-module-ns
-	mbdyn-module-octave
-	mbdyn-module-randdrive
-	mbdyn-module-rollercoaster
-	mbdyn-module-rotor-loose-coupling
-	mbdyn-module-scalarfunc
-	mbdyn-module-switch_drive
-	mbdyn-module-tclpgin
-	mbdyn-module-triangular_contact
-	mbdyn-module-udunits
-	mbdyn-module-uni_in_plane
-	mbdyn-module-wheel2
-	mbdyn-module-wheel4
-"
-IUSE="${IUSE_MBDYN_MODULE//_/-} ann arpack autodiff blender boost bullet chaco crypt
+#	FMU # needs fmi-library
+#	aerodyn # needs aerodyn
+#	cudatest # needs cuda
+MBDYN_MODULE=( asynchronous_machine autodiff_test ballbearing_contact bullet
+charm constlaw-f90 constlaw-f95 constlaw cont-contact controller convtest
+cyclocopter damper-gandhi damper-graall damper-hydraulic damper diff dot
+drive-test drive dummy eu2phi fab-electric fab-motion fab-sbearings fabricate
+flightgear friction friction3 hfelem hid hunt-crossley
+hydrodynamic_plain_bearing hydrodynamic_plain_bearing2 imu indvel
+inline_friction inplane_friction journal_bearing leapmotion loadinc marble md
+mds minmaxdrive multi_step_drive muscles namespace nodedistdrive nonsmooth-node
+ns octave randdrive rollercoaster rotor-loose-coupling scalarfunc switch_drive
+tclpgin triangular_contact udunits uni_in_plane wheel2 wheel4 )
+
+MBDYN_MODULE_REPLACED=( "${MBDYN_MODULE[@]//_/-}" )
+IUSE_MBDYN_MODULE="${MBDYN_MODULE_REPLACED[@]/#/mbdyn_module_}"
+IUSE="${IUSE_MBDYN_MODULE} ann arpack autodiff blender boost bullet chaco crypt
 debug eig ginac jdqz +mbc metis mpi multithread-naive netcdf octave openblas pam
 pastix pmpi python qrupdate rt sasl schur sparse superlu tests threads udunits +y12"
 # taucs rtai
@@ -105,7 +53,7 @@ RDEPEND="
 	crypt? ( virtual/libcrypt )
 	ginac? ( sci-mathematics/ginac )
 	jdqz? ( sci-libs/jdqz )
-	mbdyn-module-damper? ( sci-libs/gsl )
+	mbdyn_module_damper? ( sci-libs/gsl )
 	mpi? ( virtual/mpi[cxx] )
 	metis? ( sci-libs/metis )
 	netcdf? ( sci-libs/netcdf-cxx:* )
@@ -140,10 +88,10 @@ PATCHES=(
 )
 #	"${FILESDIR}/${PN}-respect-libtool.patch"
 REQUIRED_USE="
-	mbdyn-module-bullet? ( bullet )
-	mbdyn-module-octave? ( octave )
-	mbdyn-module-udunits? ( udunits )
-	mbdyn-module-wheel4? ( ginac )
+	mbdyn_module_bullet? ( bullet )
+	mbdyn_module_octave? ( octave )
+	mbdyn_module_udunits? ( udunits )
+	mbdyn_module_wheel4? ( ginac )
 	multithread-naive? ( threads )
 	pmpi? ( mpi )
 	python? ( ${PYTHON_REQUIRED_USE} )
@@ -245,14 +193,10 @@ src_configure() {
 		myconf+=( "--without-mpi" )
 	fi
 
-	declare -A mbdynmodules
-	for m in ${IUSE_MBDYN_MODULE} ; do
-		mbdynmodules[${m//_/-}]="${m/mbdyn-module-/}"
-	done
-
 	local usemodules=""
-	for u in ${IUSE_MBDYN_MODULE//_/-} ; do
-		use ${u} && usemodules+=" ${mbdynmodules[${u}]}"
+	for m in ${MBDYN_MODULE[@]} ; do
+		u="${m//_/-}"
+		use "mbdyn_module_${u}" && usemodules+=" ${m}"
 	done
 
 	# remove leading whitespace characters

diff --git a/sci-physics/mbdyn/metadata.xml b/sci-physics/mbdyn/metadata.xml
index 8896f30ef..6556940ae 100644
--- a/sci-physics/mbdyn/metadata.xml
+++ b/sci-physics/mbdyn/metadata.xml
@@ -21,72 +21,6 @@
 		<flag name="ginac">With <pkg>sci-mathematics/ginac</pkg> support</flag>
 		<flag name="jdqz">With <pkg>sci-libs/jdqz</pkg> math library</flag>
 		<flag name="mbc">Enable MBC - multibody communication library</flag>
-		<!--<flag name="mbdyn-module-FMU">This is a module to import and cosimulation of FMUs, developed using FMI standards, for MBDyn</flag>-->
-		<!--<flag name="mbdyn-module-aerodyn">This is MBDyn's module for the wind-turbine aerodynamics library AeroDyn</flag>-->
-		<flag name="mbdyn-module-asynchronous-machine">The purpose of this code is the simulation of an asynchronous electrical machine as a part of a multibody model</flag>
-		<flag name="mbdyn-module-autodiff-test">This element implements a inline joint with friction</flag>
-		<flag name="mbdyn-module-ballbearing-contact">ball bearing contact</flag>
-		<flag name="mbdyn-module-bullet"><pkg>sci-physics/bullet</pkg> module</flag>
-		<flag name="mbdyn-module-charm">This module implements a user-defined induced velocity element based on CDI's CHARM free wake</flag>
-		<flag name="mbdyn-module-constlaw-f90">This directory contains an example of run-time loadable constitutive law written in Fortran 90</flag>
-		<flag name="mbdyn-module-constlaw-f95">This directory contains an example of run-time loadable constitutive law written in Fortran 95</flag>
-		<flag name="mbdyn-module-constlaw">This directory contains an example of run-time loadable constitutive law</flag>
-		<flag name="mbdyn-module-cont-contact">continuous contact</flag>
-		<flag name="mbdyn-module-controller">controller module</flag>
-		<flag name="mbdyn-module-convtest">convergence test module</flag>
-		<!--<flag name="mbdyn-module-cudatest"></flag>-->
-		<flag name="mbdyn-module-cyclocopter">This module implements induced velocity models for cycloidal rotors</flag>
-		<flag name="mbdyn-module-damper-gandhi">Gandhi, F. and Chopra, I., "An analytical model for a nonlinear elastomeric lag damper and its effect on aeromechanical stability in hover" Journal of the American Helicopter Society, Vol. 39, 1994, pp. 59-69.</flag>
-		<flag name="mbdyn-module-damper-graall">GRAALL Damper Constitutive Law</flag>
-		<flag name="mbdyn-module-damper-hydraulic">Hydraulic Damper Constitutive Law</flag>
-		<flag name="mbdyn-module-damper">It implements a 1D constitutive law based on a generic nonlinear rheological formula, whose coefficients are computed by means of parameter identification from experimental measurements</flag>
-		<flag name="mbdyn-module-diff">diff drive module</flag>
-		<flag name="mbdyn-module-dot">dot language module</flag>
-		<flag name="mbdyn-module-drive-test">drive test module</flag>
-		<flag name="mbdyn-module-drive">example of run-time loadable drive</flag>
-		<flag name="mbdyn-module-dummy">Dummy module --- does nothing, used to test the infrastructure</flag>
-		<flag name="mbdyn-module-eu2phi">converts three Euler angles into the corresponding Euler vector</flag>
-		<flag name="mbdyn-module-fab-electric">Library of electric components for "digital fabrication" machines</flag>
-		<flag name="mbdyn-module-fab-motion">Library of motion transmission components for "digital fabrication" machines</flag>
-		<flag name="mbdyn-module-fab-sbearings">Library of bearings for "digital fabrication" machines</flag>
-		<flag name="mbdyn-module-fabricate">Library of components of "digital fabrication" machines</flag>
-		<flag name="mbdyn-module-flightgear">flightgear module</flag>
-		<flag name="mbdyn-module-friction">eXperimental friction model</flag>
-		<flag name="mbdyn-module-friction3">eXperimental friction model (2nd try)</flag>
-		<flag name="mbdyn-module-hfelem">Harmonic Excitation Element</flag>
-		<flag name="mbdyn-module-hid">This module registers a file driver that captures the input from HID USB devices (only tested with some joysticks)</flag>
-		<flag name="mbdyn-module-hunt-crossley">HuntCrossley constitutive law</flag>
-		<flag name="mbdyn-module-hydrodynamic-plain-bearing">This module implements a hydrodynamic plain bearing according to Hans Juergen Butenschoen 1976 Das hydrodynamische zylindrische Gleitlager endlicher Breite unter instationaerer Belastung</flag>
-		<flag name="mbdyn-module-hydrodynamic-plain-bearing2">module hydrodynamic plain bearing2</flag>
-		<flag name="mbdyn-module-imu">implements two uses of a IMU</flag>
-		<flag name="mbdyn-module-indvel">This module implements a dummy induced velocity model</flag>
-		<flag name="mbdyn-module-inline-friction">This element implements a inline joint with friction</flag>
-		<flag name="mbdyn-module-inplane-friction">In plane friction</flag>
-		<flag name="mbdyn-module-journal-bearing">This element implements a journal bearing with lugre friction</flag>
-		<flag name="mbdyn-module-leapmotion">leapmotion hand</flag>
-		<flag name="mbdyn-module-loadinc">load increment normalization</flag>
-		<flag name="mbdyn-module-marble">marble model for icecube robot</flag>
-		<flag name="mbdyn-module-md">MD module</flag>
-		<flag name="mbdyn-module-mds">mds module</flag>
-		<flag name="mbdyn-module-minmaxdrive">minmaxdrive module</flag>
-		<flag name="mbdyn-module-multi-step-drive">multi step drive module</flag>
-		<flag name="mbdyn-module-muscles">muscle module</flag>
-		<flag name="mbdyn-module-namespace">namespace module</flag>
-		<flag name="mbdyn-module-nodedistdrive">node dist drive module</flag>
-		<flag name="mbdyn-module-nonsmooth-node">Defines a unilateral constraint in form of a contact between a node and one or more planes, optionally with friction</flag>
-		<flag name="mbdyn-module-ns">ns1 module</flag>
-		<flag name="mbdyn-module-octave">octave module</flag>
-		<flag name="mbdyn-module-randdrive">rand drive module</flag>
-		<flag name="mbdyn-module-rollercoaster">rollercoaster module</flag>
-		<flag name="mbdyn-module-rotor-loose-coupling">rotor loose coupling</flag>
-		<flag name="mbdyn-module-scalarfunc">example of run-time loadable scalar function</flag>
-		<flag name="mbdyn-module-switch-drive">switch drive module</flag>
-		<flag name="mbdyn-module-tclpgin">tcl plugin</flag>
-		<flag name="mbdyn-module-triangular-contact">This element implements unilateral contact with friction between an arbitrary rigid body, represented by a triangular mesh, and a set of nodes with arbitrary offsets</flag>
-		<flag name="mbdyn-module-udunits">This module adds a namespace "units" with the only function "convert", which is thus invoked as "units::convert"</flag>
-		<flag name="mbdyn-module-uni-in-plane">This element implements the unilateral contact between a point and a plane</flag>
-		<flag name="mbdyn-module-wheel2">Connects 2 structural nodes: Wheel Ground</flag>
-		<flag name="mbdyn-module-wheel4">L. Gagnon, M. J. Richard, P. Masarati, M. Morandini, and G. Dore. Multibody simulation of tires operating on an uneven road. In Multibody Dynamics 2011, 4-7 July 2011</flag>
 		<flag name="metis">With <pkg>sci-libs/metis</pkg> model partitioning support</flag>
 		<flag name="mpi">With MPI support</flag>
 		<flag name="multithread-naive">Enable multithread naive solver</flag>


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2022-05-27 11:28 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-05-27 11:28 [gentoo-commits] repo/proj/guru:dev commit in: sci-physics/mbdyn/, profiles/desc/ Alessandro Barbieri

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox