* Adding a lot of tutorial material as jupyter notebook
* Adding a reader of DATBOX to generate pre container, have look to:
* `pre.readDatbox`
* `pre.readState`
* There is period of two months in which the internal parameter numbering changed for contactors and contact. If a hdf5 file as been generated before this parameters where stored inside the file, there is no way to know what parameter numbering to use. In case of problem, the `io_hdf5_fixVersion` might help.
## <a name=2020> version 2020 ##
* General fixes in Core, API and documentation
* Minimum required version of CMake is now 3.0
* Minimum required version of gcc suite is now 4.5
* Support of gcc 10
* Support of ubuntu 20 and ArchLinux for building
* Better handling of link with Siconos library
* Gmsh:
* update `pre.readMesh` function to handle gmsh file formats 4.0 and 4.1
* add a `gmshutils` submodule to `pylmgc90`, available only if `gmsh` python module is available
* MatLib:
* Possibility to set material as nodal field
* as such `ExternalModels_CheckProperties` is now split in `ExternalModels_StoreProperties` and `xxxxMAILx_CheckProperties`
* HDF5:
* better detection
* add script to build and use for Anaconda on Windows
* add parameters association to `Help` group
* add some tentative example of postprocessing the files in `examples/Tutorial/post`
* Interaction API: partial disambiguation of interaction accessors in inter_handler wrap modules using `t` to name `this` interaction:
* `getNb` -> `tgetNb`
* `getTactLawNb` -> `tgetTactLawNb`
* `getIdBodies`-> `tgetIdBodies`
* `getInternals` -> `tgetInternals`
* `setInternals` -> `tsetInternals`
* Huge changes in the management of cohesive laws:
* concerning the type of law:
* removed `TRI_CZM` law
* added `EXPO_CZM`, `IQS_EXPO_CZM`, `EXPO_CZM_SPRING` and `ISQ_EXPO_CZN_SPRING`
* added `GTN_CZM` and `GTN2_CZM`, but not usable in the solver yet
* management of mixity normal/tangent for these laws changed:
* removed functions of `tact_behav` modules: `SetG1overG2`, `SetS1overS2` and `SetD1overD2`
* instead all tact laws managing mixity must replace parameters `w` and `smax` with `s1`, `s2`, `G1`, `G2` (and maybe `dp1`, `dp2`)
* pressure in crack is no longer set using contact law parameters thus:
* `p` and `p0` are no longer parameters used to define contact laws
* instead the `tact_behav_SetPressureParameters` function must be used
* needed to add `get_external_pressure` function in `CLALp` and `CSASp` functions
* implementation in kernel interactions of TAZ (Temporary Array Zone) accessible with `nlgs_SetTemporaryVariable` and `nlgs_GetTemporaryVariable`
* new examples added :
* `RIGID_2D/4POLYG_SHEAR_CYCLE_CZM`
* `mecaMAILx_2D/2Q4_PressurePostCracking`
* `mecaMAILx_2D/InclusionPreDamage`
* Standardize dilatation of `DISKx`, `xKSID` and `POLYG` contactors:
* Deletion of `DISPx` and `xPSID` now useless modules and all detection module associated
* all three contactors `DISKx`, `xKSID` and `POLYG` now have `SetXdilation`, `SetVdilatation`
* function `SetVther` and `SetXther` of `DISKx` and `POLYG` module deleted instead
* use of `get_Vd_xxxxx`, `set_Vd_xxxxx` and `set_Xd_xxxxx` function in contactor modules instead of `get_vth_xxxxx` and similar
* added example `examples/RIGID_2D/Couette`
* Lot of correction in postprocessing modules
* `DOUBLET TORQUE EVOLUTION` -> `DOUBLETS TORQUE EVOLUTION` (in pre, file names and parameters)
* `DOUBLET INTERACTION` -> `DOUBLET INTERACTIONS` (in pre, file names and parameters)
* removed `QUASI SLIDING CONTACT`
* added the following commands to pre:
* `DENSE SAMPLE COMPACITY`
* `DISPLAY TENSORS`
* `AVERAGE VELOCITY EVOLUTION`
* `DRY CONTACT NATURE`
* `WET CONTACT NATURE`
* `PLPLx_ANALYSIS`
* `COMPACITY EVOLUTION`
* `TRIAXIAL COMPACITY`
* `PRxxx DETECTION`
* `INTER ANALYSIS`
* `VISIBILITY STATE`
Other changes in API:
* Changed `PT3Dx_SetReferenceRadius` to `PT3Dx_SetDisplayRadius`
* Added `CSASp_Trim` function
* Added `CSASp_SetNonSymmetricDetection`
* Added `mecaMAILx_AddBodyForceToFext` function which allow to add a nodal acceleration on a meshed body
* Added contact law `xQS_WET`
* Changed `CLALp_SetNonSymetricDetection` to `CLALp_SetNonSymmetricDetection`
* Fix bug when reading CSASp and CSPRx ascii files
* `DISKx_GetRadius` now correctly use a contactor number in
* From now on `ReadIniVlocRloc` MUST be called AFTER `LoadTactors`
## <a name=2019> version 2019 ##
* General fixes in Core, API and documentation
* Add support of gitlab CI to run non regression tests
* Add possibility to run examples using `Ctest`
* Re-activation of windows cross-compiling script
* Fix in python API of ANN library
* Add `getVerletAdjsz`, `getVerletIantac` and `getAllIdata` accessors to `inter_handler` modules to get contactor verlet map of interactions
* Improve efficiency of VTK file writing when using vtk6 or higher
* Add possibility to build LMGC90 using conda compiler on Windows and Linux
* Add support of `IQS_CLB_RGR` contact law in *pre*
* Add `UseCurrentNonuc0` to `PTPT2` module (like in 3D) and add corresponding test
## Impact on command scripts ###
* to add user fields when calling `WriteDisplayFiles` command, `tactor` keyword must be replaced by `tacts`
## <a name=2018> version 2018 ##
* General fixes in Core, API and documentation
* `T3xxx` mechanical finite element now use 3 Gauss points for stiffness computation
(instead of 1 before). To use only 1 Gauss points there are now `T3lxx` and `Te4lx`
elements
* Add `NARD_ROD` contact law of Artoni and Neveu
* Improve management of big polyhedra
* Improvement of paraview visualization files generations
* All `ReadIni` functions can now take in negative input value to read the *\*.LAST*
files and write the next files from the absolute value of the input value
* Update in MP modules, especially in read/write API
* A newer version of the MatLib is provided by default
* `pre.lecture` real name is now `pre.readMesh` (but is still usable as is)
* Switch all docstrings and error/warning messages left in french to english
* `checkInteractiveCommand` now tries to write *MP_VALUES* files
* `dim` parameters is now mandatory in function `pre.writeBulkBehav`
* In `pre.rigidJonc` and `pre.rigidPlan` last axes MUST be less than the others
* Automatic switch between HDF5 and old OUTBOX directory
and associated documentation added
* Add `rigidsFromMesh3D` in the preprocessor
* `inter_handler_xD_setInternal` accept either a vector to set all value at once,
or an integer and a value to set only one component of the internal array
* Add triangle intersection detection between `POLYR` contactors
* Fixes of periodicity management in 3D
* `CLALp` module can now provide for each contact the value of strain
of its nearest Gauss point
* Default use of MUMPs in 3D if available
* Added notebooks to explain how to add user field in Paraview files
* Added function `RBDY3_CheckEquilibriumState`
* Cleaning of source code (optional non functional `WITH_NEW` compilation flag
and all associated code has been removed)
### Impact on command scripts ###
* It is now recommended to use:
```python
chipy.ReadIni(step)
chipy.ReadIniMpValues(step)
chipy.WriteOut(freq)
chipy.WriteOutMvValues(freq)
```
which will read or write all stored data within the database, instead of specifying all type of files (`DOF`, `GPV`, `VlocRloc`, `MP_VALUES`).
* The function:
```python
chipy.overall_WriteOutMpValues
```
is renamed:
```python
chipy.TimeEvolution_WriteOutMpValues
```
### Impact for **Core** developpers ###
The function:
```fortran
write_out_mp_values
```
is renamed:
```fortran
write_xxx_mp_values
```
## <a name=2017> version 2017 ##
* Better handling of Python 3 on MacOs
* Datafields `Reac_` and `Raux_`, used in accessors, are now forces. New fields `Ireac` and `Iaux_` have been added to access impulsions
* Access to parameters value through variable in `chipy` module
* Use of an `inter_handler_2/3D` interface module instead of accessing each interaction module separately
* Add a `RecupRlocByPosition` for `CLALp` and `CSASp` contacts
* A partial restart of the post-processing files
* Any GMV related features has been deleted
* Possibility to write **HDF5** files for *DOF*, *GPV* and *Interactions*
* Add bindings to *clipper* library to help with the contact detection between polyhedra
* Use of integer parameters instead of string for contact status in solver
* Several fixes on the timers (especially when involving multi-threading)
* Fix of minor bugs here and there
### Impact on command scripts ###
* `Reac_` and `Raux_` fields are not available through getPtrBodyVector (but `Ireac` and Iaux_` are)
* Old interactions accessors (like `DKDKx_GetNbDKDKx`) disappeared
* They are replaced by functions of the form `chipy.inter_handler_2D_getNb( inter_type_id )` where `inter_type_id` is an integer
* The `inter_type_id` is accessible through variables of the `chipy` module (`chipy.DKDKx_ID`):
### Impact for **Core** developpers ###
*`Reac` and `Raux` become `Ireac` and `Iaux` in the body type definition
* Many functions/accessor in detection modules disappeared. The main way to access to interaction is now through the **handlers**
* Look into the `inter_handler_2/3D` module, the `public` sections list the available functions in each module. The first parameter is the type of interactions which is an integer from the `parameter` module.
## <a name=2016> version 2016 ##
There are several changes concerning the **pre** python module.
Remember that a script is provided in *lmgc90_user/src/addons* attempting to update a single script or all python scripts in a directory tree.
If *lmgc90_user/src/addons* is in your `$PATH` environment variable, run:
```shell
update_gen_2016.py gen_sample.py
```
To update *gen_sample.py* script.
You can replace the script name by a directory to try to update all python scripts in it.
There are cases where the script may fail, here is the list of changes so that you can correct you scripts yourself:
* change of `pre_lmgc` submodule name to `pre` (submodule of `pylmgc90`)
* in `tact_behav` constructor, argument name `type` is replaced by `law`
* in `model` constructor, argument name `type` is replaced by `physics`
* in `material` constructor, argument name`type` is replaced by `materialType`
* in `avatar.addContactors` method, argument name `type` is replaced by `shape`
* in `avatar.rotate` method, argument name `type` is replaced by `description`
* in `avatar.imposeDrivenDof` method, argument name `type` is replaced by `description`
* in `postpro_command` constructor, argument name `type` is replaced by `name`
* in `buildMesh2D` function, argument name `type_mesh` is replaced by `mesh_type`
* in `brick2D.deformableBrick` method, argument name `type` is replaced by `mesh_type`
* in `brick2D.explodedDeformableBrick` method, argument name `type` is replaced by `mesh_type`
* in `avatar` constructor, argument named `type` has been removed
* in `node` constructor, argument named `type` has been removed
* in `element` constructor, argument named `type` is replaced by `elem_dim` and the corresponding value must be the geometrical dimension of the element
****
| [back](./Home) |
# Release notes #
This page aims at keeping major information regarding the changes of function names, argument names or whatever between
the different versions of LMGC90.
This is not release notes 'stricto sensu'.
*[2023->2024](#2024)
*[2022->2023](#2023)
*[2021->2022](#2022)
*[2020->2021](#2021)
*[2019->2020](#2020)
*[2018->2019](#2019)
*[2017->2018](#2018)
*[2016->2017](#2017)
*[2015->2016](#2016)
## <a name=2024> version 2024 ##
API update:
* Default value of `addRegistersToDisplay` is now `True`
* Some optional VTK files writing move from Fortran core to Python:
*`lib_vtkio` is removed from the core and the installed third party libraries
*`f2f` files are written by adding `write_f2f=True` in `OpenDisplayFiles`
* central kernel files are written by adding `write_ck=True` in `OpenDisplayFiles`
* Gauss point files are written by:
* activating by listing the fields to display in `OpenDisplayFiles` with `mecagp_field` and/or `thergp_field`
* explicitely asked by setting `write_gp=True` in `WriteDisplayFiles`
* Change `inter` optional keyword to `ptc` to add field to `WriteDisplayFiles` for interactions
* Using `record<0` in `io_hdf5_read` will automatically read last available record
* Remove support of VTK 6
* Cmake minimum version is now 3.16
Fix:
* Internal gap computation in `elastic_repell_clb_g0` and `iqs_expo_czm_spring` contact law
* Detection now ignore interactions where all supported dof are velocy driven
* Status in `CZM_EXPO_SPRING` contact law
* Correct `POLYD` use in `pre` and `core`
* f2f related vtk block are displayed in end of time step configuration instead of `TT`
* error in `ComputeRnod` in 3D
* Correct update of `beta` in `*EXPO_CZM_SPRING` contact laws
* Quasi-Static time integrator to work with any time step
* Use `tiny` instead of arbitrary `1e-14` precision check in CZM laws
* Possibility to have up to 9999999 elements or nodes with `MAILx` bodies
* Slight mistakes in tutorials notebooks
* Remove some warnings in `pre.visuAvatars` to greatly accelerate the function
* Add management of `xKSID` contactors in `pre.visuAvatars`
* Fix filtering of visible rigid/tact/mecaFE when generating VTK files
* Fix error in `CSASp` pedigree describing candidate as `CYLND` in hdf5 files and `getInteractions`
* Rename mecaMAILx_3D/discreteFE example to mecaMAILx_3D/discreteFE_suspendedblock and add corresponding gen_sample.py
* Fix TOSI_CZM* laws to use 2 energy parameters for mode I and mode II/III
New:
* Contact laws to manage plasticity within CZM
* new laws : `IQS_EXPO_CZM_P`, `EXPO_CZM_P`, `IQS_EXPO_CZM_SPRING_P`, `EXPO_CZM_SPRING_P`
* same parameters as their `*EXPO_CZM*` counterparts plus two others for plasticity:
*`mu_g` to set the rate of damage energy over total energy : $\mu_g = \frac{G_d}{G_f}$
*`Eta` a truncation parameter of expo laws
* Allow to use `visible` status on driven dof of mecaMAILx bodies:
*`mecaMAILx_SetVisibleVlocyDrivenDof`
*`mecaMAILx_SetInvisibleVlocyDrivenDof`
*`mecaMAILx_UpdateVlocyDrivenDofStructures` must be called LAST
* Support of clipper library version 2
* default in new build
* activate in existing build with `cmake . -DCLIPPER_VERSION=2`
* When using `PRPRx_UseNcF2fExplicitDetection`
* manage properly the case where the intersection polygon of two faces is not connex
* Detection method `PRPRx` used by stono
* can mix face to face aspect with non-convex ones
* manage properly the case where the intersection polygon of two faces is not connex
* can use a `decompression` parameter to select contact point position regarding:
* the convex hull of the intersection polygon
* the intersection polygon and its intersection with the central kernel
* manage properly the case where the intersection polygon of two faces is not connex
* added keyword:
*`PRPRx_UseStoDetection` : activate detection
*`PRPRx_ForceF2fDetection` : force face to face within sto detection
*`PRPRx_ForceNcDetection` : force non convex within sto detection
*`PRPRx_GetF2fOutlines` : get the intersection polygon in the `f2f` structure
*`PRPRx_GetF2fStress` : use optimization to evaluate the linear compression stress
*`PRPRx_GetF2fCentralKernel` : compute the central kernel
* Utilities to compute mechanical values of plane contact surface:
*`MecaPolyg_CentralKernel`
*`MecaPolyg_StressField`
* Paraview file generation completely reworked:
* Now a single paraview file is generated for each time step
* This file use the `MultiBlock` logic
* The content is almost the same a the union of former files
* Exception is the `f2f` file content which is split in two blocks:
*`Face2Face` component with the outline of the contact structure
*`PressureCenter` component with only the point to draw pressure line
*`ContactPointContour` block appears
* fields `icdbdy`, `ianbdy`, `icdtac`, `iantac` were added to these blocks
* And the `ck` block content now hold only the geometrical part of the central kernel
* The argument `write_ck` of the `OpenDisplayFiles` is replaced by `write_f2f` with integer value:
* 0: do not write any related block
* 1: write only the `Face2Face` and `PressureCenter` blocks
* 2: add the `CentralKernel` block to the previous ones
* 3: add the `CompressionStress` block to the previous ones
* Add `Shape` field with contactor id parameter in vtk `tactor` block
* All paraview macros were updated and improved
* Add support of ubuntu 24
* Add some basics tests on python/numpy
* Add a restart parameter to computation macros
* Add joint elements:
* In preprocessor
* linear bulk elements of type : `J2xx2`, `J3xx3`, `J4xx3`
* associated material must be of type :
*`JELAS` (with `stiffness` parameter)
*`J__MC` (with `stiffness`, `consolidation` and `mc` parameters)
*`JFCZM` (with `stiffness`, `consolidation` and `fczm` parameters)
* In Chipy wrapper added `mecaMAILx_GetGpAllJoint`
* Added examples in `mecaMAILx_3D` directory:
*`1J_compression+shear`
*`1J_traction`
*`jointFE_Arche`
*`jointFE_compression+shear`
*`jointFE_traction+shear`
*`jointFE_traction`
Doc:
* Detail list of datatype keyword when using GetBodyVector and other similar function
* Adding a lot of tutorial material as jupyter notebook
* Adding a reader of DATBOX to generate pre container, have look to:
* `pre.readDatbox`
* `pre.readState`
* There is period of two months in which the internal parameter numbering changed for contactors and contact. If a hdf5 file as been generated before this parameters where stored inside the file, there is no way to know what parameter numbering to use. In case of problem, the `io_hdf5_fixVersion` might help.
## <a name=2020> version 2020 ##
* General fixes in Core, API and documentation
* Minimum required version of CMake is now 3.0
* Minimum required version of gcc suite is now 4.5
* Support of gcc 10
* Support of ubuntu 20 and ArchLinux for building
* Better handling of link with Siconos library
* Gmsh:
* update `pre.readMesh` function to handle gmsh file formats 4.0 and 4.1
* add a `gmshutils` submodule to `pylmgc90`, available only if `gmsh` python module is available
* MatLib:
* Possibility to set material as nodal field
* as such `ExternalModels_CheckProperties` is now split in `ExternalModels_StoreProperties` and `xxxxMAILx_CheckProperties`
* HDF5:
* better detection
* add script to build and use for Anaconda on Windows
* add parameters association to `Help` group
* add some tentative example of postprocessing the files in `examples/Tutorial/post`
* Interaction API: partial disambiguation of interaction accessors in inter_handler wrap modules using `t` to name `this` interaction:
* `getNb` -> `tgetNb`
* `getTactLawNb` -> `tgetTactLawNb`
* `getIdBodies`-> `tgetIdBodies`
* `getInternals` -> `tgetInternals`
* `setInternals` -> `tsetInternals`
* Huge changes in the management of cohesive laws:
* concerning the type of law:
* removed `TRI_CZM` law
* added `EXPO_CZM`, `IQS_EXPO_CZM`, `EXPO_CZM_SPRING` and `ISQ_EXPO_CZN_SPRING`
* added `GTN_CZM` and `GTN2_CZM`, but not usable in the solver yet
* management of mixity normal/tangent for these laws changed:
* removed functions of `tact_behav` modules: `SetG1overG2`, `SetS1overS2` and `SetD1overD2`
* instead all tact laws managing mixity must replace parameters `w` and `smax` with `s1`, `s2`, `G1`, `G2` (and maybe `dp1`, `dp2`)
* pressure in crack is no longer set using contact law parameters thus:
* `p` and `p0` are no longer parameters used to define contact laws
* instead the `tact_behav_SetPressureParameters` function must be used
* needed to add `get_external_pressure` function in `CLALp` and `CSASp` functions
* implementation in kernel interactions of TAZ (Temporary Array Zone) accessible with `nlgs_SetTemporaryVariable` and `nlgs_GetTemporaryVariable`
* new examples added :
* `RIGID_2D/4POLYG_SHEAR_CYCLE_CZM`
* `mecaMAILx_2D/2Q4_PressurePostCracking`
* `mecaMAILx_2D/InclusionPreDamage`
* Standardize dilatation of `DISKx`, `xKSID` and `POLYG` contactors:
* Deletion of `DISPx` and `xPSID` now useless modules and all detection module associated
* all three contactors `DISKx`, `xKSID` and `POLYG` now have `SetXdilation`, `SetVdilatation`
* function `SetVther` and `SetXther` of `DISKx` and `POLYG` module deleted instead
* use of `get_Vd_xxxxx`, `set_Vd_xxxxx` and `set_Xd_xxxxx` function in contactor modules instead of `get_vth_xxxxx` and similar
* added example `examples/RIGID_2D/Couette`
* Lot of correction in postprocessing modules
* `DOUBLET TORQUE EVOLUTION` -> `DOUBLETS TORQUE EVOLUTION` (in pre, file names and parameters)
* `DOUBLET INTERACTION` -> `DOUBLET INTERACTIONS` (in pre, file names and parameters)
* removed `QUASI SLIDING CONTACT`
* added the following commands to pre:
* `DENSE SAMPLE COMPACITY`
* `DISPLAY TENSORS`
* `AVERAGE VELOCITY EVOLUTION`
* `DRY CONTACT NATURE`
* `WET CONTACT NATURE`
* `PLPLx_ANALYSIS`
* `COMPACITY EVOLUTION`
* `TRIAXIAL COMPACITY`
* `PRxxx DETECTION`
* `INTER ANALYSIS`
* `VISIBILITY STATE`
Other changes in API:
* Changed `PT3Dx_SetReferenceRadius` to `PT3Dx_SetDisplayRadius`
* Added `CSASp_Trim` function
* Added `CSASp_SetNonSymmetricDetection`
* Added `mecaMAILx_AddBodyForceToFext` function which allow to add a nodal acceleration on a meshed body
* Added contact law `xQS_WET`
* Changed `CLALp_SetNonSymetricDetection` to `CLALp_SetNonSymmetricDetection`
* Fix bug when reading CSASp and CSPRx ascii files
* `DISKx_GetRadius` now correctly use a contactor number in
* From now on `ReadIniVlocRloc` MUST be called AFTER `LoadTactors`
## <a name=2019> version 2019 ##
* General fixes in Core, API and documentation
* Add support of gitlab CI to run non regression tests
* Add possibility to run examples using `Ctest`
* Re-activation of windows cross-compiling script
* Fix in python API of ANN library
* Add `getVerletAdjsz`, `getVerletIantac` and `getAllIdata` accessors to `inter_handler` modules to get contactor verlet map of interactions
* Improve efficiency of VTK file writing when using vtk6 or higher
* Add possibility to build LMGC90 using conda compiler on Windows and Linux
* Add support of `IQS_CLB_RGR` contact law in *pre*
* Add `UseCurrentNonuc0` to `PTPT2` module (like in 3D) and add corresponding test
## Impact on command scripts ###
* to add user fields when calling `WriteDisplayFiles` command, `tactor` keyword must be replaced by `tacts`
## <a name=2018> version 2018 ##
* General fixes in Core, API and documentation
* `T3xxx` mechanical finite element now use 3 Gauss points for stiffness computation
(instead of 1 before). To use only 1 Gauss points there are now `T3lxx` and `Te4lx`
elements
* Add `NARD_ROD` contact law of Artoni and Neveu
* Improve management of big polyhedra
* Improvement of paraview visualization files generations
* All `ReadIni` functions can now take in negative input value to read the *\*.LAST*
files and write the next files from the absolute value of the input value
* Update in MP modules, especially in read/write API
* A newer version of the MatLib is provided by default
* `pre.lecture` real name is now `pre.readMesh` (but is still usable as is)
* Switch all docstrings and error/warning messages left in french to english
* `checkInteractiveCommand` now tries to write *MP_VALUES* files
* `dim` parameters is now mandatory in function `pre.writeBulkBehav`
* In `pre.rigidJonc` and `pre.rigidPlan` last axes MUST be less than the others
* Automatic switch between HDF5 and old OUTBOX directory
and associated documentation added
* Add `rigidsFromMesh3D` in the preprocessor
* `inter_handler_xD_setInternal` accept either a vector to set all value at once,
or an integer and a value to set only one component of the internal array
* Add triangle intersection detection between `POLYR` contactors
* Fixes of periodicity management in 3D
* `CLALp` module can now provide for each contact the value of strain
of its nearest Gauss point
* Default use of MUMPs in 3D if available
* Added notebooks to explain how to add user field in Paraview files
* Added function `RBDY3_CheckEquilibriumState`
* Cleaning of source code (optional non functional `WITH_NEW` compilation flag
and all associated code has been removed)
### Impact on command scripts ###
* It is now recommended to use:
```python
chipy.ReadIni(step)
chipy.ReadIniMpValues(step)
chipy.WriteOut(freq)
chipy.WriteOutMvValues(freq)
```
which will read or write all stored data within the database, instead of specifying all type of files (`DOF`, `GPV`, `VlocRloc`, `MP_VALUES`).
* The function:
```python
chipy.overall_WriteOutMpValues
```
is renamed:
```python
chipy.TimeEvolution_WriteOutMpValues
```
### Impact for **Core** developpers ###
The function:
```fortran
write_out_mp_values
```
is renamed:
```fortran
write_xxx_mp_values
```
## <a name=2017> version 2017 ##
* Better handling of Python 3 on MacOs
* Datafields `Reac_` and `Raux_`, used in accessors, are now forces. New fields `Ireac` and `Iaux_` have been added to access impulsions
* Access to parameters value through variable in `chipy` module
* Use of an `inter_handler_2/3D` interface module instead of accessing each interaction module separately
* Add a `RecupRlocByPosition` for `CLALp` and `CSASp` contacts
* A partial restart of the post-processing files
* Any GMV related features has been deleted
* Possibility to write **HDF5** files for *DOF*, *GPV* and *Interactions*
* Add bindings to *clipper* library to help with the contact detection between polyhedra
* Use of integer parameters instead of string for contact status in solver
* Several fixes on the timers (especially when involving multi-threading)
* Fix of minor bugs here and there
### Impact on command scripts ###
* `Reac_` and `Raux_` fields are not available through getPtrBodyVector (but `Ireac` and Iaux_` are)
* Old interactions accessors (like `DKDKx_GetNbDKDKx`) disappeared
* They are replaced by functions of the form `chipy.inter_handler_2D_getNb( inter_type_id )` where `inter_type_id` is an integer
* The `inter_type_id` is accessible through variables of the `chipy` module (`chipy.DKDKx_ID`):
### Impact for **Core** developpers ###
*`Reac` and `Raux` become `Ireac` and `Iaux` in the body type definition
* Many functions/accessor in detection modules disappeared. The main way to access to interaction is now through the **handlers**
* Look into the `inter_handler_2/3D` module, the `public` sections list the available functions in each module. The first parameter is the type of interactions which is an integer from the `parameter` module.
## <a name=2016> version 2016 ##
There are several changes concerning the **pre** python module.
Remember that a script is provided in *lmgc90_user/src/addons* attempting to update a single script or all python scripts in a directory tree.
If *lmgc90_user/src/addons* is in your `$PATH` environment variable, run:
```shell
update_gen_2016.py gen_sample.py
```
To update *gen_sample.py* script.
You can replace the script name by a directory to try to update all python scripts in it.
There are cases where the script may fail, here is the list of changes so that you can correct you scripts yourself:
* change of `pre_lmgc` submodule name to `pre` (submodule of `pylmgc90`)
* in `tact_behav` constructor, argument name `type` is replaced by `law`
* in `model` constructor, argument name `type` is replaced by `physics`
* in `material` constructor, argument name`type` is replaced by `materialType`
* in `avatar.addContactors` method, argument name `type` is replaced by `shape`
* in `avatar.rotate` method, argument name `type` is replaced by `description`
* in `avatar.imposeDrivenDof` method, argument name `type` is replaced by `description`
* in `postpro_command` constructor, argument name `type` is replaced by `name`
* in `buildMesh2D` function, argument name `type_mesh` is replaced by `mesh_type`
* in `brick2D.deformableBrick` method, argument name `type` is replaced by `mesh_type`
* in `brick2D.explodedDeformableBrick` method, argument name `type` is replaced by `mesh_type`
* in `avatar` constructor, argument named `type` has been removed
* in `node` constructor, argument named `type` has been removed
* in `element` constructor, argument named `type` is replaced by `elem_dim` and the corresponding value must be the geometrical dimension of the element