Releases: bbercovici/SBGAT
Releases · bbercovici/SBGAT
SBGAT V2.05.1
New
- Uncertainty quantification in the surface polyhedron gravity model can now be computed from within
SBGATGui
Improvements
- Users now must load one shape model in
SBGATGui
before being able to open up any of the analyses/observations windows. - Removed deprecated AA functionalities
Bug fixes:
SBGATMassPropertiesUQ
's master script has been corrected with the proper SIM_PREFIX
SBGAT V2.04.1
SBGAT 2.04.1
New
- Introduced two new base classes,
SBGATFilter
andSBGATFilterUQ
, the latter being tailored for uncertainty quantification in the considered geophysical properties - A Python script producing shape "slices" has been added
Improvement
SBGATMassPropertiesUQ
now inherits fromSBGATFilter
SBGATPolyhedronGravityModelUQ
now inherits fromSBGATMassPropertiesUQ
- Clicking on a facet in SbgatGui now results in displaying the facet center coordinates.- Populated
Examples
folder with illustrative snippets forSBGATPolyhedronGravityModelUQ
andSBGATMassPropertiesUQ
. These tests should be run from a Python 3 process (run ../master_script.py
) called from theirbuild
directory.
Regression
- As of April 7th 2019, OpenMP is no longer found by CMake on Mac.
SBGAT V2.02.4
New
- SBGAT 2.02.4 introduces
SBGATPolyhedronGravityModelUQ
, a class dedicated to uncertainty quantification in Polyhedron Gravity potentials and accelerations arising from a stochastic shape. This class enables the evaluation of the variance in the potential and covariance in the acceleration at any point in space (excluding shape edges) - Expanded and consolidated the Tests suite.
Improvements
- Length unit consistency has been completely overhauled.
- All of SBGAT's filters (
SBGATMassproperties
,SBGATSphericalHarmo
,SBGATPolyhedronGravityModel
,...) will return results using meters as length unit. For instance, callingGetAcceleration
from theSBGATPolyhedronGravityModel
class will always return an acceleration inm/s^2
. - Similarly, any method from the aforementioned filters expects an input position to be expressed in meters.
- Classes documentation has been updated to reflect this change
- Overall consistency is enforced by manually specifying the unit in which a given shape model is specified through the use of
SetScaleMeters
orSetScaleKiloMeters
. This way, a shape whose coordinates are expressed in kilometers can be connected to an instance ofSBGATMassproperties
or any other filter and used in a completely transparent manner as long asSetScaleKiloMeters
is called on the filter beforeUpdate()
SBGATMassproperties
,SBGATSphericalHarmo
andSBGATPolyhedronGravityModel
are initialized by default for a shape whose length unit are in meters (i.e thescaleFactor
member is set to1
by default, and set to1000
ifSetScaleKiloMeters()
is called)
- All of SBGAT's filters (
- Work is in progress to revamp the main page of the doxygen documentation
SBGAT V2.02.3
Bug fixes
- Fixed bug in
SBGATSphericalHarmo
that could have caused the evaluation of the spherical harmonics over a non-barycented shape to be incorrect. - Pushed fix to latest version of
SHARMLib
dependency to address the same issue - Modified
CMakeLists.txt
in Tests to fix issue caused by a conflicting header being sometimes included by one of VTK's dependencies
SBGAT 2.02.2
New
- Shape models can now be modified from within SBGATGui, by selecting a vertex and applying a Gaussian interpolation of the vertex displacement to a neighborhood of arbitrary choice.
Improvements
- Camera is now positioned at the correct distance from the targeted shape body upon loading
- Improved visual aspect of selected facet
- Improved visual aspect of loaded shapes
Bug fixes:
- Fixed bug in SBGATGui that prevented proper alignment of the shape model with its principal axes
SBGAT V2.02.1
New
- Second-moments about the mean in the volume, center-of-mass, unit-densiy inertia tensor, principal moments, principal dimensions and orientation of the principal axes can now be evaluated through the static methods of
SBGATShapeUncertainty
SBGATShapeUncertainty
provides two methods to evaluate the statistical moments: a monte-carlo methodComputeInertiaStatisticsMC
, and another methodComputeInertiaStatistics
leveraging a linearized uncertainty model as proposed by Bercovici and McMahon (Inertia statistics of an uncertain small body shape, ICARUS 2019 (In Review
). Both methods take the same argument (correleation lengthl
and the standard deviation governing the error in the control point coordinates, directed along the average normal at these points). Both these methods assume that the shape error can be described as normally distributed and zero-mean.- Added a new function in
Tests
to illustrate the convergence of the Monte-Carlo shape uncertainty sampling to the analytical prediction
Improvements
SBGATMassProperties::SaveMassProperties
is now saving the average radius (r_avg = cbrt(3/4 *Volume/pi)
) to the JSON fileSBGATMassproperties::GetPrincipalAxes
could return 4 dcms, all representative of the same inertia ellipsoid. To enforce stability in the principal axes extractions,SBGATMassproperties::GetPrincipalAxes
now returns the dcm that has the smallest-norm corresponding MRP.SBGAT
will try to link againstOpenMP
by default. This behaviour can now be disabled by passing the--without-libomp
flag to Homebrew or by passing the-DNO_OMP:BOOL=TRUE
flag to CMake
Bug fixes:
- Fixed potential bug in
SBGATPolyhedronGravityModel
involving a parallel computing block where a variable with no viable reduction clause was being operated on SBGATMassproperties::GetPrincipalAxes
is now returning the DCM[PB]
converting from the body coordinate frame to the body principal frame. It was previously returning[BP]
SBGAT V2.01.2
SBGAT 2.01.2
New
SBGATMassProperties
now offers a method to save the computed mass properties to a JSON file (SBGATMassProperties::SaveMassProperties
)- A static method evaluating and saving the mass properties of the provided shape is now provided (
SBGATMassProperties::ComputeAndSaveMassProperties
) - The
Measures
menu inSbgatGUI
has been augmented with aSave geometric measures
action
Improvements
- The inertia tensor normalization has changed. When computing the mass properties of a given small body, the following normalization is now applied to the inertia tensor:
I_norm = I / (mass * r_avg ^ 2)
wherer_avg = cbrt(3/4 *Volume/pi)
.r_avg
is now computed along with the other properties withinSBGATMassProperties
. - The parallel axis theorem is no-longer applied to the small body. That is, the inertia will always be expressed about (0,0,0).
- Several GUI minors bug fixes
SBGAT V.2.01.1
New:
- Facets can now be individually selected in
SbgatGui
by clicking on them. If the surface PGM of the selected shape is available, the results for the selected facet will be shown in the console.
Improvements
- The
Set Shape Mapper
option was renamed toSet Results Overlay
- Several minor GUI bug fixes
Bug fixes:
- Fixed bug in
SbgatCore
that was due to an unnecessary rescaling of the computed potentials and accelerations withinSbgatCore::ComputeSurfacePGM
. This bug was manifesting itself when callingSbgatCore::ComputeSurfacePGM
with a shape model whose coordinates were expressed in kilometers. This bug was not affectingSbgatGui
since the latter automatically rescales input shapes to meters upon loading.
SBGAT 1.12.2
New:
- A previously evaluated surface Polyhedron Gravity Model can now be loaded from a JSON file via the static method
SBGATPolyhedronGravityModel::LoadSurfacePGM
SbgatGui
can now overlay previously computed surface Polyhedron Gravity Model results over a corresponding shape model (aka featuring the same number of facets as the one used to generate the surface PGM)
Improvements
- The surface PGM now computes:
- gravitational slopes
- inertial gravity potentials
- body-fixed gravity potentials
- inertial gravity acceleration
- body-fixed gravity acceleration
SBGAT V1.12.1
New:
- The gravity-gradient matrix deriving from the polyhedron gravity model can now be evaluated
- The evaluation of the surface polyhedron gravity model can now be saved to a JSON file through
SBGATPolyhedronGravityModel::SaveSurfacePGM
- This static method is available in
SbgatGUI
as the evaluation of the PGM will now require the specification of an output file
Improvements
- Stronger typing of inputs in
SBGATPolyhedronGravityModel
SbgatGui
will now ask users whethers a loaded shape should be barycentered/principal-axis aligned, and apply the corresponding transform if answeredyes