|
|
# 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:
|
|
|
|
|
|
* 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
|
|
|
* Error in `lmgc90_ptc` paraview macro
|
|
|
* 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:
|
|
|
|
|
|
* Add support of ubuntu 24
|
|
|
* Add some basics tests on python/numpy
|
|
|
* Add a restart parameter to computation macros
|
|
|
* Paraview macro to draw tubes is available in `src/addons/paraview/LMGC90_gp`
|
|
|
* 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
|
|
|
* Update notebook explaination regarding interactions
|
|
|
|
|
|
|
|
|
## <a name=2023> version 2023 ##
|
|
|
|
|
|
Added features:
|
|
|
* thermal dilatation management for built-in and demmefi models of mecaMAILx
|
|
|
* In HDF5 files the `rdata` part of `internals` in interaction is now of minimum needed size
|
|
|
* Add new contact laws:
|
|
|
* `ELASTIC_REPELL_CLB_adapt` to change stiffness through internal
|
|
|
* `TOSI_CZM` and `TOSI_CZM_INCRE` laws
|
|
|
* SPPRx detection module (with periodic management)
|
|
|
* periodic detection of CDCDx module
|
|
|
* the NLGS solver now stops with an error if a `NaN` value is met
|
|
|
* Add `PRPRx_SetInternalSurface` to be able to override the value of contact surface within triangle intersection detection
|
|
|
* `post` submodule of `chipy` to generate paraview files picturing the central kernel criteria (PRPRx with f2f detection)
|
|
|
* `inters.vtu` files are no longer generated only `ptc.vtu` files
|
|
|
* `ptc.vtu` files are now generated from the `chipy.getInteractions`
|
|
|
* add macros to make access and visualization of internal variables of interactions easier
|
|
|
* add macros for paraview (10 and 11) to add glyph/tubes on ptc files and ck (Central Kernel) files.
|
|
|
|
|
|
Changes in API:
|
|
|
* `MAX_INTERNAL_TACTS` is now of size 19 by default
|
|
|
* Some macro of `pylmgc90.chipy` now raise an error if `SetDimension` has not been called beforehand
|
|
|
* Argument `step` has been renamed to `record` in all the `ReadIni` macros
|
|
|
* Removed all obsolete read/write of binary file using the old OUTBOX format
|
|
|
* `CloseDisplayFiles` is now empty function and no longer needed
|
|
|
* `chipy.WriteDisplayFiles` no longer use the `ref_radius` and `normal_orient` parameters
|
|
|
* when adding user field to `ptc.vtu` files in chipy.WriteDisplayFiles` now needs an numpy array instead of a dictionary
|
|
|
* `registerInterInternals` take the internal variable (or a list of them) to work with
|
|
|
* `addRegistersToDisplay` to automatically add the internal variable to the WriteDisplayFiles calls
|
|
|
* `getInternalArray` to get the internal array associated with an interaction array
|
|
|
* `setInternalArray` to set the internal value of a list of interactions
|
|
|
* `getInteractions` can now get "this" or "verlet" interactions, with byte-string or integer id, for the parameters fields
|
|
|
|
|
|
Added functions to `chipy`:
|
|
|
* `WriteLast` added to macros
|
|
|
* `io_hdf5_write_last(fname)` allowing to write last state in the input file
|
|
|
* `inter_handler_xD_getNbRecup` was added (and corresponding getter in detection module removed)
|
|
|
* `inter_handler_xD_tgetIData` was added
|
|
|
* `PRPRx_GetF2f2Inters` to get the *face to face* to interaction mapping
|
|
|
* `CYLND_GetShape` to access cylinder axis length values
|
|
|
|
|
|
Added functions to `pre`:
|
|
|
* method `avatar.updateReferenceConfig` to update the reference configuration of the bodie(s) to the current one
|
|
|
|
|
|
Fixes:
|
|
|
* in Demmefi managements models (especially regarding `endo3D`)
|
|
|
* bug in `CDCDx` contact detection
|
|
|
* `pre.readState` when reading with `xxl` interactions
|
|
|
* sort content when using `ExternalFEM` and in `ExternalDetection` for Xper coupling
|
|
|
* SPPRx detection when contact point is not in a PR face
|
|
|
* PRASp computation of VN in prjj
|
|
|
* Add missing pre.mesh function in sphinx documentation
|
|
|
* correct read/write regarding stress of mecax in HDF5 files
|
|
|
* pre.IO.writeVlocRloc if inters is a list and not a numpy array
|
|
|
* bug in PRPRx where unwanted contacts where added with 0 coordinates
|
|
|
* some drvdof where ignored if index of body was greater than 99999
|
|
|
* inertia computation error of CYLND in `pre`
|
|
|
* fix 'COORDINATION_NUMBER' postpro command
|
|
|
* fix 'BODY TRACKING' to correctly follow rigid 3D body instead of first contactors
|
|
|
* use CL/AL and CS/AS mesh id instead of global id in .vtu files
|
|
|
* fix status of `CZM` contact laws
|
|
|
* fix error in `.pvd` paraview files in case of restart
|
|
|
|
|
|
## <a name=2022> version 2022 ##
|
|
|
|
|
|
* General fix in Core, API, build process and documentation
|
|
|
* Add `computation` macro submodule to provide the functions
|
|
|
* `initialize`
|
|
|
* `initialize_non_linear`
|
|
|
* `compute_one_step`
|
|
|
* `compute_one_step_non_linear`
|
|
|
* Add new matlib version (2021-1)
|
|
|
* Remove oldest matlib
|
|
|
* Read material file directly from matlib
|
|
|
* Use `density` as a field for `mecaMAILx` with matlib
|
|
|
* Specify field dependency to a parameter with a file
|
|
|
* Add management of cluster of `CYLND`
|
|
|
* Quasi-static integrator for `mecaMAILx`
|
|
|
* Mass scaling of `mecaMAILx`
|
|
|
* Use force instead of pressure within `nlgs_3D` solver for `CSASp` and `CSPRx`
|
|
|
* Add a function to compute a PDF of pressure
|
|
|
* Management of initial gaps or overlaps for `EXPO_CZM` laws
|
|
|
* Possible flush of postpro files during computation
|
|
|
* A post.py script to manage POSTPRO files
|
|
|
* `RecupRlocByPosition` for `CSPRx` contacts
|
|
|
* Add internal variables values to display files
|
|
|
* Max internal in contacts now default to 8 (instead of 6 before)
|
|
|
* Add access to wood orthotropic frame from `user` module
|
|
|
* Add possibility to only compute internal forces in `mecaMAILx`
|
|
|
* First version of SP/PR detection
|
|
|
* HDF5 now store a version number to handle evolution of format
|
|
|
* Access to a structured numpy array of all `this` interactions
|
|
|
* `inter_handler_xD_GetAll` now includes the `vloc` values (not displayed in paraview yet)
|
|
|
* Interaction type `T_inter` now use subcontactor id (`cdsci` and `ansci`) field instead of `icdver`, `ianal`, etc
|
|
|
|
|
|
Fixes:
|
|
|
* Fix VlocRloc ascii file output for some contacts where `lantac` was missing
|
|
|
* Remove unused `lantac` parameter from some VlocRloc ascii files
|
|
|
* Fix COORDINATION_NUMBER postpro file
|
|
|
* Fix trim in discrete geometry and add extension management
|
|
|
* Tidy Newton-Raphson routines management in TimeEvolution/overall module
|
|
|
* Fix cohesion status management in common plane detection
|
|
|
* Fix bugs for `EXPO_CZM_SPRING` laws
|
|
|
* Area of contact computation when using `TriangleIntersections` detection of `PRPRx`
|
|
|
* Fix `DKPLx` contact detection
|
|
|
* Fix `CSASp` contact detection
|
|
|
* Fix in `BODY TRACKING` to really track `RBDY3` and not its first contactor
|
|
|
* Fix installation path when changing of `VENV_PATH` with cmake
|
|
|
* Use CL/AL and CS/AS mesh id instead of global id in .vtu files
|
|
|
|
|
|
Added functions to `chipy`:
|
|
|
* `CSASp_AddReac`, `CSPRx_AddReac`
|
|
|
* `CSASp_AssumeOldFiles`
|
|
|
* `nlgs_3D_CutOpenCZM`
|
|
|
* `nlgs_3D_ManageInterpenetratedCZM`
|
|
|
* `CSxxx_GetAll`
|
|
|
* `mecaMAILx_GetInternalVariables`
|
|
|
* `mecaMAILx_ComputePDFPressure`
|
|
|
* `mecaMAILx_MassScaling`
|
|
|
* `postpro_FlushDuringComputation`, `postpro_3D_FlushDuringComputation`
|
|
|
* `RBDY3_GetDofStatus`
|
|
|
* `Integrator_InitQS`
|
|
|
* `user_getWoodFrame`
|
|
|
* `mecaMAILx_ ComputeFint`
|
|
|
* `inter_handler_xD_getNbRecup` was added (and corresponding getter in detection module removed)
|
|
|
* `inter_handler_xD_tgetIData`
|
|
|
|
|
|
Changes in API:
|
|
|
* in `pre.rigidCylinder` `h` parameter is now the half height of cylinder
|
|
|
|
|
|
## <a name=2021> version 2021 ##
|
|
|
|
|
|
* General fix in Core, API and documentation
|
|
|
* `CYLND` contactor now represent pill (cylinder capped with spheres)
|
|
|
* `CDCDx` contact detection has been fixed accordingly
|
|
|
* Add an `ExternalModelHandler` allowing to define a use either *MatLib* or *demmefi* libraries
|
|
|
* in `pre.model` constructor, `is_external` now takes the value `no`, `MatL_` or `Demfi`
|
|
|
* Improving management of *POSTPRO* files in case of restart
|
|
|
* Improve *POSTPRO* files format:
|
|
|
* all real fields use `ES` Fortran format instead of `D`
|
|
|
* time field is now written on 15 characters (against 14 beforehand)
|
|
|
* standard file name format with step and body number on 7 digits
|
|
|
* Add macro:
|
|
|
* `pre.writeDatbox` to drop all containers in DATBOX directory
|
|
|
* `chipy.ReadDatbox` to read/load all files from DATBOX directory in one go
|
|
|
* When reading a state from and HDF5 file, interactions as stored in `verlet` like for VlocRloc.OUT files
|
|
|
* Replacing functions:
|
|
|
* `xxxxx_StockRloc` -> `inter_handler_xD_stockRloc`
|
|
|
* `xxxx_RecupRloc` -> `inter_handler_xD_recupRloc`
|
|
|
* 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
|
|
|
* Update notebook explaination regarding interactions
|
|
|
|
|
|
|
|
|
## <a name=2023> version 2023 ##
|
|
|
|
|
|
Added features:
|
|
|
* thermal dilatation management for built-in and demmefi models of mecaMAILx
|
|
|
* In HDF5 files the `rdata` part of `internals` in interaction is now of minimum needed size
|
|
|
* Add new contact laws:
|
|
|
* `ELASTIC_REPELL_CLB_adapt` to change stiffness through internal
|
|
|
* `TOSI_CZM` and `TOSI_CZM_INCRE` laws
|
|
|
* SPPRx detection module (with periodic management)
|
|
|
* periodic detection of CDCDx module
|
|
|
* the NLGS solver now stops with an error if a `NaN` value is met
|
|
|
* Add `PRPRx_SetInternalSurface` to be able to override the value of contact surface within triangle intersection detection
|
|
|
* `post` submodule of `chipy` to generate paraview files picturing the central kernel criteria (PRPRx with f2f detection)
|
|
|
* `inters.vtu` files are no longer generated only `ptc.vtu` files
|
|
|
* `ptc.vtu` files are now generated from the `chipy.getInteractions`
|
|
|
* add macros to make access and visualization of internal variables of interactions easier
|
|
|
* add macros for paraview (10 and 11) to add glyph/tubes on ptc files and ck (Central Kernel) files.
|
|
|
|
|
|
Changes in API:
|
|
|
* `MAX_INTERNAL_TACTS` is now of size 19 by default
|
|
|
* Some macro of `pylmgc90.chipy` now raise an error if `SetDimension` has not been called beforehand
|
|
|
* Argument `step` has been renamed to `record` in all the `ReadIni` macros
|
|
|
* Removed all obsolete read/write of binary file using the old OUTBOX format
|
|
|
* `CloseDisplayFiles` is now empty function and no longer needed
|
|
|
* `chipy.WriteDisplayFiles` no longer use the `ref_radius` and `normal_orient` parameters
|
|
|
* when adding user field to `ptc.vtu` files in chipy.WriteDisplayFiles` now needs an numpy array instead of a dictionary
|
|
|
* `registerInterInternals` take the internal variable (or a list of them) to work with
|
|
|
* `addRegistersToDisplay` to automatically add the internal variable to the WriteDisplayFiles calls
|
|
|
* `getInternalArray` to get the internal array associated with an interaction array
|
|
|
* `setInternalArray` to set the internal value of a list of interactions
|
|
|
* `getInteractions` can now get "this" or "verlet" interactions, with byte-string or integer id, for the parameters fields
|
|
|
|
|
|
Added functions to `chipy`:
|
|
|
* `WriteLast` added to macros
|
|
|
* `io_hdf5_write_last(fname)` allowing to write last state in the input file
|
|
|
* `inter_handler_xD_getNbRecup` was added (and corresponding getter in detection module removed)
|
|
|
* `inter_handler_xD_tgetIData` was added
|
|
|
* `PRPRx_GetF2f2Inters` to get the *face to face* to interaction mapping
|
|
|
* `CYLND_GetShape` to access cylinder axis length values
|
|
|
|
|
|
Added functions to `pre`:
|
|
|
* method `avatar.updateReferenceConfig` to update the reference configuration of the bodie(s) to the current one
|
|
|
|
|
|
Fixes:
|
|
|
* in Demmefi managements models (especially regarding `endo3D`)
|
|
|
* bug in `CDCDx` contact detection
|
|
|
* `pre.readState` when reading with `xxl` interactions
|
|
|
* sort content when using `ExternalFEM` and in `ExternalDetection` for Xper coupling
|
|
|
* SPPRx detection when contact point is not in a PR face
|
|
|
* PRASp computation of VN in prjj
|
|
|
* Add missing pre.mesh function in sphinx documentation
|
|
|
* correct read/write regarding stress of mecax in HDF5 files
|
|
|
* pre.IO.writeVlocRloc if inters is a list and not a numpy array
|
|
|
* bug in PRPRx where unwanted contacts where added with 0 coordinates
|
|
|
* some drvdof where ignored if index of body was greater than 99999
|
|
|
* inertia computation error of CYLND in `pre`
|
|
|
* fix 'COORDINATION_NUMBER' postpro command
|
|
|
* fix 'BODY TRACKING' to correctly follow rigid 3D body instead of first contactors
|
|
|
* use CL/AL and CS/AS mesh id instead of global id in .vtu files
|
|
|
* fix status of `CZM` contact laws
|
|
|
* fix error in `.pvd` paraview files in case of restart
|
|
|
|
|
|
## <a name=2022> version 2022 ##
|
|
|
|
|
|
* General fix in Core, API, build process and documentation
|
|
|
* Add `computation` macro submodule to provide the functions
|
|
|
* `initialize`
|
|
|
* `initialize_non_linear`
|
|
|
* `compute_one_step`
|
|
|
* `compute_one_step_non_linear`
|
|
|
* Add new matlib version (2021-1)
|
|
|
* Remove oldest matlib
|
|
|
* Read material file directly from matlib
|
|
|
* Use `density` as a field for `mecaMAILx` with matlib
|
|
|
* Specify field dependency to a parameter with a file
|
|
|
* Add management of cluster of `CYLND`
|
|
|
* Quasi-static integrator for `mecaMAILx`
|
|
|
* Mass scaling of `mecaMAILx`
|
|
|
* Use force instead of pressure within `nlgs_3D` solver for `CSASp` and `CSPRx`
|
|
|
* Add a function to compute a PDF of pressure
|
|
|
* Management of initial gaps or overlaps for `EXPO_CZM` laws
|
|
|
* Possible flush of postpro files during computation
|
|
|
* A post.py script to manage POSTPRO files
|
|
|
* `RecupRlocByPosition` for `CSPRx` contacts
|
|
|
* Add internal variables values to display files
|
|
|
* Max internal in contacts now default to 8 (instead of 6 before)
|
|
|
* Add access to wood orthotropic frame from `user` module
|
|
|
* Add possibility to only compute internal forces in `mecaMAILx`
|
|
|
* First version of SP/PR detection
|
|
|
* HDF5 now store a version number to handle evolution of format
|
|
|
* Access to a structured numpy array of all `this` interactions
|
|
|
* `inter_handler_xD_GetAll` now includes the `vloc` values (not displayed in paraview yet)
|
|
|
* Interaction type `T_inter` now use subcontactor id (`cdsci` and `ansci`) field instead of `icdver`, `ianal`, etc
|
|
|
|
|
|
Fixes:
|
|
|
* Fix VlocRloc ascii file output for some contacts where `lantac` was missing
|
|
|
* Remove unused `lantac` parameter from some VlocRloc ascii files
|
|
|
* Fix COORDINATION_NUMBER postpro file
|
|
|
* Fix trim in discrete geometry and add extension management
|
|
|
* Tidy Newton-Raphson routines management in TimeEvolution/overall module
|
|
|
* Fix cohesion status management in common plane detection
|
|
|
* Fix bugs for `EXPO_CZM_SPRING` laws
|
|
|
* Area of contact computation when using `TriangleIntersections` detection of `PRPRx`
|
|
|
* Fix `DKPLx` contact detection
|
|
|
* Fix `CSASp` contact detection
|
|
|
* Fix in `BODY TRACKING` to really track `RBDY3` and not its first contactor
|
|
|
* Fix installation path when changing of `VENV_PATH` with cmake
|
|
|
* Use CL/AL and CS/AS mesh id instead of global id in .vtu files
|
|
|
|
|
|
Added functions to `chipy`:
|
|
|
* `CSASp_AddReac`, `CSPRx_AddReac`
|
|
|
* `CSASp_AssumeOldFiles`
|
|
|
* `nlgs_3D_CutOpenCZM`
|
|
|
* `nlgs_3D_ManageInterpenetratedCZM`
|
|
|
* `CSxxx_GetAll`
|
|
|
* `mecaMAILx_GetInternalVariables`
|
|
|
* `mecaMAILx_ComputePDFPressure`
|
|
|
* `mecaMAILx_MassScaling`
|
|
|
* `postpro_FlushDuringComputation`, `postpro_3D_FlushDuringComputation`
|
|
|
* `RBDY3_GetDofStatus`
|
|
|
* `Integrator_InitQS`
|
|
|
* `user_getWoodFrame`
|
|
|
* `mecaMAILx_ ComputeFint`
|
|
|
* `inter_handler_xD_getNbRecup` was added (and corresponding getter in detection module removed)
|
|
|
* `inter_handler_xD_tgetIData`
|
|
|
|
|
|
Changes in API:
|
|
|
* in `pre.rigidCylinder` `h` parameter is now the half height of cylinder
|
|
|
|
|
|
## <a name=2021> version 2021 ##
|
|
|
|
|
|
* General fix in Core, API and documentation
|
|
|
* `CYLND` contactor now represent pill (cylinder capped with spheres)
|
|
|
* `CDCDx` contact detection has been fixed accordingly
|
|
|
* Add an `ExternalModelHandler` allowing to define a use either *MatLib* or *demmefi* libraries
|
|
|
* in `pre.model` constructor, `is_external` now takes the value `no`, `MatL_` or `Demfi`
|
|
|
* Improving management of *POSTPRO* files in case of restart
|
|
|
* Improve *POSTPRO* files format:
|
|
|
* all real fields use `ES` Fortran format instead of `D`
|
|
|
* time field is now written on 15 characters (against 14 beforehand)
|
|
|
* standard file name format with step and body number on 7 digits
|
|
|
* Add macro:
|
|
|
* `pre.writeDatbox` to drop all containers in DATBOX directory
|
|
|
* `chipy.ReadDatbox` to read/load all files from DATBOX directory in one go
|
|
|
* When reading a state from and HDF5 file, interactions as stored in `verlet` like for VlocRloc.OUT files
|
|
|
* Replacing functions:
|
|
|
* `xxxxx_StockRloc` -> `inter_handler_xD_stockRloc`
|
|
|
* `xxxx_RecupRloc` -> `inter_handler_xD_recupRloc`
|
|
|
* 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) |
|
|
|
|:---------------:| |
|
|
\ No newline at end of file |