fargOCA issueshttps://gitlab.oca.eu/DISC/fargOCA/-/issues2023-03-07T17:16:31Zhttps://gitlab.oca.eu/DISC/fargOCA/-/issues/712Remove theta coords2023-03-07T17:16:31ZAlain O' MiniussiRemove theta coordsThese can be computed on the flyThese can be computed on the flyAlain O' MiniussiAlain O' Miniussihttps://gitlab.oca.eu/DISC/fargOCA/-/issues/711Keep track of grid spacing2023-03-07T17:16:30ZAlain O' MiniussiKeep track of grid spacingIt will be needed if we drop explicit gridIt will be needed if we drop explicit gridAlain O' MiniussiAlain O' Miniussihttps://gitlab.oca.eu/DISC/fargOCA/-/issues/708Make GridCoords gas shape aware2023-03-07T17:16:29ZAlain O' MiniussiMake GridCoords gas shape awareThe GridCoord gas must know the grid boundaries if we want to use implicit gridsThe GridCoord gas must know the grid boundaries if we want to use implicit gridsAlain O' MiniussiAlain O' Miniussihttps://gitlab.oca.eu/DISC/fargOCA/-/issues/707Remove the FILE coordinate type2023-03-07T17:16:28ZAlain O' MiniussiRemove the FILE coordinate typeThere is not point in storing coordinates on disk when using implicit gridsThere is not point in storing coordinates on disk when using implicit gridsAlain O' MiniussiAlain O' Miniussihttps://gitlab.oca.eu/DISC/fargOCA/-/issues/703Templatize grid2023-02-07T10:00:48ZAlain O' MiniussiTemplatize gridGrid can be implemented in different ways, and we're not sure which one is better right now.
So we'll allow a few of them.Grid can be implemented in different ways, and we're not sure which one is better right now.
So we'll allow a few of them.Viscosity ReorganisationAlain O' MiniussiAlain O' Miniussihttps://gitlab.oca.eu/DISC/fargOCA/-/issues/702Use half as medium2023-02-21T14:33:13ZAlain O' MiniussiUse half as mediumRight now, the medium coordinate in the radial direction is barycentric, which is not very usefull and complexify the code.Right now, the medium coordinate in the radial direction is barycentric, which is not very usefull and complexify the code.https://gitlab.oca.eu/DISC/fargOCA/-/issues/701Remove explicit non uniform grid2023-03-07T17:16:28ZAlain O' MiniussiRemove explicit non uniform gridWe don[t use those anymore. And right now they're in the way of optimisations, multi grid etc..We don[t use those anymore. And right now they're in the way of optimisations, multi grid etc..Alain O' MiniussiAlain O' Miniussihttps://gitlab.oca.eu/DISC/fargOCA/-/issues/699Use implicit coordinate system2023-02-20T17:09:35ZAlain O' MiniussiUse implicit coordinate systemFor both performance, precision, code sobriety, ease of rebind etc..For both performance, precision, code sobriety, ease of rebind etc..Alain O' MiniussiAlain O' Miniussihttps://gitlab.oca.eu/DISC/fargOCA/-/issues/697AdAstra Build2023-02-10T18:26:38ZAlain O' MiniussiAdAstra BuildGPU and, later, CPU buildGPU and, later, CPU buildAlain O' MiniussiAlain O' Miniussihttps://gitlab.oca.eu/DISC/fargOCA/-/issues/696Build code on new cluster (@Caltech)2023-03-06T21:52:28ZGabriele PichierriBuild code on new cluster (@Caltech)Hi,
I'm at Caltech now and I'd like to run more simulations on their cluster here. I'm not able to build the code due to some boost library issue.
First, I chose:
```
$ module list
Currently Loaded Modulefiles:
1) gcc/9.2.0 ...Hi,
I'm at Caltech now and I'd like to run more simulations on their cluster here. I'm not able to build the code due to some boost library issue.
First, I chose:
```
$ module list
Currently Loaded Modulefiles:
1) gcc/9.2.0 3) boost/1_81_0_openmpi-4.1.1_gcc-9.2.0 5) hdf5/1.12.1 7) python3/3.10.7
2) openmpi/4.1.1_gcc-9.2.0 4) cmake/3.18.0 6) openssl/3.0.3
```
With this I get:
```
$ cmake -DCMAKE_BUILD_TYPE=Release -DKokkos_ENABLE_OPENMP=On ..
-- The C compiler identification is GNU 9.2.0
-- The CXX compiler identification is GNU 9.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /software/gcc/9.2.0/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /software/gcc/9.2.0/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- BUILD_HOST_ID: UNKNOWN
-- Found OpenMP_C: -fopenmp (found version "4.5")
-- Found OpenMP_CXX: -fopenmp (found version "4.5")
-- Found OpenMP: TRUE (found version "4.5")
-- Found OpenMP option -fopenmp.
-- Found MPI_C: /central/software/OpenMPI/4.1.1_gcc-9.2.0/lib/libmpi.so (found version "3.1")
-- Found MPI: TRUE (found version "3.1") found components: C
-- Will use Kokkos submodule.
-- Setting default Kokkos CXX standard to 17
-- The project name is: Kokkos
-- Using -std=gnu++17 for C++17 extensions as feature
-- Built-in Execution Spaces:
-- Device Parallel: NoTypeDefined
-- Host Parallel: Kokkos::OpenMP
-- Host Serial: NONE
--
-- Architectures:
-- Found TPLLIBDL: /usr/include
-- Using internal desul_atomics copy
-- Kokkos Devices: OPENMP, Kokkos Backends: OPENMP
-- Found HDF5: /central/software/hdf5/1.12.1/lib/libhdf5.so;/usr/lib64/libz.so;/usr/lib64/libdl.so;/usr/lib64/libm.so (found version "1.12.1") found components: C
-- Found Boost: /usr/include (found version "1.53.0") found components: system serialization
CMake Warning at external/HighFive/CMakeLists.txt:84 (message):
Unit tests have been DISABLED.
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.5") found components: doxygen dot
-- ENABLE_PYTHON_BINDINGS not set, python binding won't be built.
-- Run cmake with -DENABLE_PYTHON_BINDINGS=On to enable.
WARN No Python Libs found
-- Could NOT find Boost: Found unsuitable version "1.53.0", but required is at least "1.65" (found /usr/include, found components: serialization program_options chrono filesystem system regex)
CMake Deprecation Warning at CMakeLists.txt:153 (message):
Could not find the mandatory Boost libraries.
FATAL Bye.
```
This (`Could NOT find Boost: Found unsuitable version "1.53.0", but required is at least "1.65"`) is strange because I loaded `boost/1_81_0_openmpi-4.1.1_gcc-9.2.0`.
So I tried passing the variable `BOOST_ROOT`:
```
$ cmake -DCMAKE_BUILD_TYPE=Release -DKokkos_ENABLE_OPENMP=On -DBOOST_ROOT=/central/software/boost/1_81_0_openmpi-4.1.1_gcc-9.2.0/ ..
-- The C compiler identification is GNU 9.2.0
-- The CXX compiler identification is GNU 9.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /software/gcc/9.2.0/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /software/gcc/9.2.0/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- BUILD_HOST_ID: UNKNOWN
-- Found OpenMP_C: -fopenmp (found version "4.5")
-- Found OpenMP_CXX: -fopenmp (found version "4.5")
-- Found OpenMP: TRUE (found version "4.5")
-- Found OpenMP option -fopenmp.
-- Found MPI_C: /central/software/OpenMPI/4.1.1_gcc-9.2.0/lib/libmpi.so (found version "3.1")
-- Found MPI: TRUE (found version "3.1") found components: C
-- Will use Kokkos submodule.
-- Setting default Kokkos CXX standard to 17
-- The project name is: Kokkos
-- Using -std=gnu++17 for C++17 extensions as feature
-- Built-in Execution Spaces:
-- Device Parallel: NoTypeDefined
-- Host Parallel: Kokkos::OpenMP
-- Host Serial: NONE
--
-- Architectures:
-- Found TPLLIBDL: /usr/include
-- Using internal desul_atomics copy
-- Kokkos Devices: OPENMP, Kokkos Backends: OPENMP
-- Found HDF5: /central/software/hdf5/1.12.1/lib/libhdf5.so;/usr/lib64/libz.so;/usr/lib64/libdl.so;/usr/lib64/libm.so (found version "1.12.1") found components: C
CMake Warning at /central/software/cmake/3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1187 (message):
New Boost version may have incorrect or missing dependencies and imported
targets
Call Stack (most recent call first):
/central/software/cmake/3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1311 (_Boost_COMPONENT_DEPENDENCIES)
/central/software/cmake/3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1919 (_Boost_MISSING_DEPENDENCIES)
external/HighFive/CMake/HighFiveTargetDeps.cmake:26 (find_package)
external/HighFive/CMakeLists.txt:63 (include)
CMake Warning at /central/software/cmake/3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1187 (message):
New Boost version may have incorrect or missing dependencies and imported
targets
Call Stack (most recent call first):
/central/software/cmake/3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1311 (_Boost_COMPONENT_DEPENDENCIES)
/central/software/cmake/3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1919 (_Boost_MISSING_DEPENDENCIES)
external/HighFive/CMake/HighFiveTargetDeps.cmake:26 (find_package)
external/HighFive/CMakeLists.txt:63 (include)
-- Found Boost: /central/software/boost/1_81_0_openmpi-4.1.1_gcc-9.2.0/include (found version "1.81.0") found components: system serialization
CMake Warning at external/HighFive/CMakeLists.txt:84 (message):
Unit tests have been DISABLED.
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.5") found components: doxygen dot
-- ENABLE_PYTHON_BINDINGS not set, python binding won't be built.
-- Run cmake with -DENABLE_PYTHON_BINDINGS=On to enable.
WARN No Python Libs found
CMake Warning at /central/software/cmake/3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1187 (message):
New Boost version may have incorrect or missing dependencies and imported
targets
Call Stack (most recent call first):
/central/software/cmake/3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1311 (_Boost_COMPONENT_DEPENDENCIES)
/central/software/cmake/3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1919 (_Boost_MISSING_DEPENDENCIES)
CMakeLists.txt:143 (find_package)
CMake Warning at /central/software/cmake/3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1187 (message):
New Boost version may have incorrect or missing dependencies and imported
targets
Call Stack (most recent call first):
/central/software/cmake/3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1311 (_Boost_COMPONENT_DEPENDENCIES)
/central/software/cmake/3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1919 (_Boost_MISSING_DEPENDENCIES)
CMakeLists.txt:143 (find_package)
CMake Warning at /central/software/cmake/3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1187 (message):
New Boost version may have incorrect or missing dependencies and imported
targets
Call Stack (most recent call first):
/central/software/cmake/3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1311 (_Boost_COMPONENT_DEPENDENCIES)
/central/software/cmake/3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1919 (_Boost_MISSING_DEPENDENCIES)
CMakeLists.txt:143 (find_package)
CMake Warning at /central/software/cmake/3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1187 (message):
New Boost version may have incorrect or missing dependencies and imported
targets
Call Stack (most recent call first):
/central/software/cmake/3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1311 (_Boost_COMPONENT_DEPENDENCIES)
/central/software/cmake/3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1919 (_Boost_MISSING_DEPENDENCIES)
CMakeLists.txt:143 (find_package)
CMake Warning at /central/software/cmake/3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1187 (message):
New Boost version may have incorrect or missing dependencies and imported
targets
Call Stack (most recent call first):
/central/software/cmake/3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1311 (_Boost_COMPONENT_DEPENDENCIES)
/central/software/cmake/3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1919 (_Boost_MISSING_DEPENDENCIES)
CMakeLists.txt:143 (find_package)
CMake Warning at /central/software/cmake/3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1187 (message):
New Boost version may have incorrect or missing dependencies and imported
targets
Call Stack (most recent call first):
/central/software/cmake/3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1311 (_Boost_COMPONENT_DEPENDENCIES)
/central/software/cmake/3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1919 (_Boost_MISSING_DEPENDENCIES)
CMakeLists.txt:143 (find_package)
CMake Warning at /central/software/cmake/3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1187 (message):
New Boost version may have incorrect or missing dependencies and imported
targets
Call Stack (most recent call first):
/central/software/cmake/3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1311 (_Boost_COMPONENT_DEPENDENCIES)
/central/software/cmake/3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1919 (_Boost_MISSING_DEPENDENCIES)
CMakeLists.txt:143 (find_package)
-- Could NOT find Boost (missing: mpi) (found suitable version "1.81.0", minimum required is "1.65")
CMake Deprecation Warning at CMakeLists.txt:153 (message):
Could not find the mandatory Boost libraries.
FATAL Bye.
```
So apparently there's an issue with mpi (`Could NOT find Boost (missing: mpi) (found suitable version "1.81.0", minimum required is "1.65")`).
However I specifically asked IT over here to install a boost version that is compatible with the MPI implementation and C++ compiler I'm using.
It could be that something is wrong in their setup, but maybe there's something else?
Cheers,
GabrieleAlain O' MiniussiAlain O' Miniussihttps://gitlab.oca.eu/DISC/fargOCA/-/issues/695Toy around with solver2023-01-19T11:50:45ZAlain O' MiniussiToy around with solverAlain O' MiniussiAlain O' Miniussihttps://gitlab.oca.eu/DISC/fargOCA/-/issues/694extract_tau1 is not used2023-01-04T20:37:25ZAlain O' Miniussiextract_tau1 is not usedand broken as the following code does not make much sense:
```
for (int i = nrMin; i < nrMax; i++ ) {
for (int h = 1; h < ni-1; h++ ) {
real deltaphi = radMed(i)*(phi(h+1)-phi(h));
real moy = 0.;
for (int j = 0; j <...and broken as the following code does not make much sense:
```
for (int i = nrMin; i < nrMax; i++ ) {
for (int h = 1; h < ni-1; h++ ) {
real deltaphi = radMed(i)*(phi(h+1)-phi(h));
real moy = 0.;
for (int j = 0; j < ns; j++ ) {
moy += dens(i,h,j)*kappa(i,h,j);
}
moy /= ns;
tau(i) += moy*deltaphi;
if(tau(i) <= 1){ // this override prev h values
ztau1(i) = radMed(i)*cos(phi(h));
phitau1(i) = phi(h);
}
}
}
```Alain O' MiniussiAlain O' Miniussihttps://gitlab.oca.eu/DISC/fargOCA/-/issues/693size_t conversion2023-01-04T23:00:43ZAlain O' Miniussisize_t conversionSome compiler are pikky regarding int<->size_t conversion. Let's try to fixe that.Some compiler are pikky regarding int<->size_t conversion. Let's try to fixe that.Alain O' MiniussiAlain O' Miniussihttps://gitlab.oca.eu/DISC/fargOCA/-/issues/692High Five Compilation issue with CUDA2023-01-26T15:33:15ZAlain O' MiniussiHigh Five Compilation issue with CUDAIt's all explained here : https://github.com/BlueBrain/HighFive/issues/180It's all explained here : https://github.com/BlueBrain/HighFive/issues/180Alain O' MiniussiAlain O' Miniussihttps://gitlab.oca.eu/DISC/fargOCA/-/issues/690Hill_force_txt_logger only valid for non-inclined orbits2023-02-02T12:32:47ZGabriele PichierriHill_force_txt_logger only valid for non-inclined orbitsHallo,
maybe this is already known, but the way the Hill_force_txt_logger tracker is implemented only gives the torque for non-inclined orbits (z=0 always). The way the formula is written now, only the z component of the torque is outpu...Hallo,
maybe this is already known, but the way the Hill_force_txt_logger tracker is implemented only gives the torque for non-inclined orbits (z=0 always). The way the formula is written now, only the z component of the torque is outputted, but this may not be what one wants for inclined orbits:
Following for example [Bitsch+2013](https://ui.adsabs.harvard.edu/abs/2013A%26A...555A.124B/abstract), one has that a "small disturbing force dF may change the planetary orbit in size (semi-major axis a), eccentricity e, and inclination i. The inclination i gives the angle between the orbital plane and an arbitrary fixed plane [...] which corresponds to the midplane of the disc. Only forces lying in the orbit plane can change the orbit’s size and shape, while these forces cannot change the orientation of the orbital plane." The angular momentum in this frame is independent of the inclination (only it's projection on the z axis is), so only forces whose vectors lie inside the orbit plane can change the angular momentum and thus yield a torque; in fact, it's only forces in the direction of the velocity of the planet ($`\vec{F_T}`$) that give a torque. But for an inclined orbit, the velocity of the planet does not lie on the z=0 plane, so $`\vec{\Gamma} = \vec{r} \times \vec{F_T}`$ is not parallel to the z axis.
So I think that in the Hill_force_txt_logger one should take this into account, otherwise we are outputting a projection onto the z axis of the actual torque felt by the planet, not the total torque itself?Elena LegaElena Legahttps://gitlab.oca.eu/DISC/fargOCA/-/issues/689Boundary bug in velocity step2022-11-17T16:09:07ZAlain O' MiniussiBoundary bug in velocity stepnear line 396 in simulation.cpp (velocityStep) we have:
```
kk::parallel_for("vel_step_1", range3D({1,0,0},{nr,ni-1,ns}),
LBD(int i, int h, int j) {
...
real vp2 = ipow<2>(h < ni-1 // \todo recode loops for speed ...near line 396 in simulation.cpp (velocityStep) we have:
```
kk::parallel_for("vel_step_1", range3D({1,0,0},{nr,ni-1,ns}),
LBD(int i, int h, int j) {
...
real vp2 = ipow<2>(h < ni-1 // \todo recode loops for speed
? (vphi0(i,h,j)+vphi0(i,h+1,j)+vphi0(i-1,h,j)+vphi0(i-1,h+1,j))/4
: (vphi0(i,h,j)+vphi0(i-1,h,j)+vphi0(i-1,h+1,j))/3);
```
But if `h==ni-1` (which cannot happen since the `ni-1` layer is excluded from the domain which could also be a bug) `vphi0(i-1,h+1,j)` is not a valid expression.Elena LegaElena Legahttps://gitlab.oca.eu/DISC/fargOCA/-/issues/688save space and time in Simulation::viscosityStep2022-11-14T14:27:45ZAlain O' Miniussisave space and time in Simulation::viscosityStepIn this function, `qr, qp & qt` (`q*`) could probably be saved by using only one lambda in which we would compute the needed values.
Since we use `delta q*`, that would require more computations, but the cost/benefit could still be wort...In this function, `qr, qp & qt` (`q*`) could probably be saved by using only one lambda in which we would compute the needed values.
Since we use `delta q*`, that would require more computations, but the cost/benefit could still be worth it.Alain O' MiniussiAlain O' Miniussihttps://gitlab.oca.eu/DISC/fargOCA/-/issues/687Add a NaN init option for temp fields2022-11-14T10:14:18ZAlain O' MiniussiAdd a NaN init option for temp fieldsTemp fields are now recycled to optimize initialization of fields in GPU devices. The draw back is that we cannot rely on default zero init anymore.
In order to help detect problem linked to that initialization relaxation, it might be u...Temp fields are now recycled to optimize initialization of fields in GPU devices. The draw back is that we cannot rely on default zero init anymore.
In order to help detect problem linked to that initialization relaxation, it might be usefull to add a solution to optionally init these fields to NaN. That option could be used systematically in regression testing.
@elena this is related to #680 and #667Alain O' MiniussiAlain O' Miniussihttps://gitlab.oca.eu/DISC/fargOCA/-/issues/686Kokkos unable to allocate enough memory2024-01-23T22:30:08ZGabriele PichierriKokkos unable to allocate enough memoryHallo,
I'm having an issue where I cannot run simulations with high resolution because I get an error due to memory allocation:
```
terminate called after throwing an instance of 'std::runtime_error'
what(): Kokkos failed to allocate m...Hallo,
I'm having an issue where I cannot run simulations with high resolution because I get an error due to memory allocation:
```
terminate called after throwing an instance of 'std::runtime_error'
what(): Kokkos failed to allocate memory for label "grid_temp_3D_7". Allocation using MemorySpace named "Cuda" failed with the following error: Allocation of size 1.465 G failed, likely due to insufficient memory. (The allocation mechanism was cudaMalloc(). The Cuda allocation returned the error code ""cudaErrorMemoryAllocation".)
```
The cluster in question is such that a GPU has 40 GB of memory available, so a `Allocation of size 1.465 G failed` should not be due to actual limits in memory.
I've asked the helpdesk of my cluster and they've replied: "Kokkos is unable to allocate enough memory. How much memory do you allocate on GPU? If you are unsure, you can track Kokkos memory allocations with Kokkos Tools
https://github.com/kokkos/kokkos-tools/tree/master/profiling".
I'm not sure if I need to somehow write it into the fargOCA code or if it's enough to run this tracker after the simulation has run (probably the first)... But maybe you already have something to take care of this?Alain O' MiniussiAlain O' Miniussihttps://gitlab.oca.eu/DISC/fargOCA/-/issues/685Problem in submission script2022-11-10T08:47:26ZPhilippine GriveaudProblem in submission scriptHi,
I usually use this line
`/scratch/pgriveaud/fargOCA/build/utils/disk_load_config disk30001.h5 configmig.info`
directly in my submission script. But since recently it is not working anymore. I get the following error:
```
Abort(...Hi,
I usually use this line
`/scratch/pgriveaud/fargOCA/build/utils/disk_load_config disk30001.h5 configmig.info`
directly in my submission script. But since recently it is not working anymore. I get the following error:
```
Abort(1615631) on node 0 (rank 0 in comm 0): Fatal error in PMPI_Init: Other MPI error, error stack:
MPIR_Init_thread(703)............:
MPID_Init(868)...................:
MPIR_NODEMAP_build_nodemap(552)..:
MPIR_NODEMAP_publish_node_id(109): PMI_KVS_Commit returned -1
In: PMI_Abort(1615631, Fatal error in PMPI_Init: Other MPI error, error stack:
MPIR_Init_thread(703)............:
MPID_Init(868)...................:
MPIR_NODEMAP_build_nodemap(552)..:
MPIR_NODEMAP_publish_node_id(109): PMI_KVS_Commit returned -1)
```
Any idea how to help ?
Thank you.Alain O' MiniussiAlain O' Miniussi