getdp merge requestshttps://gitlab.onelab.info/getdp/getdp/-/merge_requests2024-03-28T15:47:24Zhttps://gitlab.onelab.info/getdp/getdp/-/merge_requests/100Implementation of BF_Edge_2 and BF_Edge_3 (+ curls) for quads (adapted from C...2024-03-28T15:47:24ZLouis DenisImplementation of BF_Edge_2 and BF_Edge_3 (+ curls) for quads (adapted from C. Geuzaine's master's thesis)Louis DenisLouis Denishttps://gitlab.onelab.info/getdp/getdp/-/merge_requests/99tentative fix for #165 (missing petsc vector assembly)2024-02-28T17:12:38ZChristophe Geuzainetentative fix for #165 (missing petsc vector assembly)Christophe GeuzaineChristophe Geuzainehttps://gitlab.onelab.info/getdp/getdp/-/merge_requests/98{op quantity}[x, y, z, N]2024-02-13T14:55:47ZChristophe Geuzaine{op quantity}[x, y, z, N]{op quantity}[x, y, z, N] can be used to evaluate a quantity at position (x, y, z) N time steps ago.
This syntax was previously used (but undocumented) to force the dimension of elements to search for (i.e. N = 1 to only search in lines...{op quantity}[x, y, z, N] can be used to evaluate a quantity at position (x, y, z) N time steps ago.
This syntax was previously used (but undocumented) to force the dimension of elements to search for (i.e. N = 1 to only search in lines, N = 2 in 2D elements, ...). Forcing the search dimension is still possible with the syntax {op quantity}[xyz, dim] if xyz is a vector.https://gitlab.onelab.info/getdp/getdp/-/merge_requests/97Faster parser2024-03-03T09:44:42ZChristophe GeuzaineFaster parserParsing .pro files with many (thousands or millions of) objects is slow. The culprit is the sequential searches performed with List_ISearchSeq() when constructing new objects, to assign their index. GetDP relies on these indices in lists...Parsing .pro files with many (thousands or millions of) objects is slow. The culprit is the sequential searches performed with List_ISearchSeq() when constructing new objects, to assign their index. GetDP relies on these indices in lists (in contiguous memory), which the parser computes on the fly when reading the .pro file - so lists cannot be sorted for fast search.
This merge request rewrites the search logic for the 2 objects with usually the most instances (groups and functions/expressions), following the profiling of a test case from CERN with 7 million groups and 200 thousand expressions. An additional map between the object name is stored in the Problem structure: the link between object name and index is maintained/updated as needed while parsing, with the map being used to speed-up the searches.
***This change should be carefully tested, as any mistake in the synchronisation between the indices stored in the map and the actual indices in the lists could lead to hard to track bugs and potentially silently invalid calculations (e.g. an expressions used instead of another).***
@sabariego @inno @louisdenis @julien.dular @schnaubelt
If necessary, the same logic could be easily applied to other objects (formulations, terms, ...) - but until we really need it I think we can just focus on groups and functions for now.Christophe GeuzaineChristophe Geuzainehttps://gitlab.onelab.info/getdp/getdp/-/merge_requests/96Oscillating multiharm2024-01-24T17:29:50ZGuillaume DemesyOscillating multiharmupdate for the paperupdate for the paperChristophe GeuzaineChristophe Geuzainehttps://gitlab.onelab.info/getdp/getdp/-/merge_requests/95oscillating particle for Mauricio2024-01-04T07:40:15ZGuillaume Demesyoscillating particle for MauricioChristophe GeuzaineChristophe Geuzainehttps://gitlab.onelab.info/getdp/getdp/-/merge_requests/94Exact sparsity pattern2023-06-16T06:31:06ZChristophe GeuzaineExact sparsity patternChristophe GeuzaineChristophe Geuzainehttps://gitlab.onelab.info/getdp/getdp/-/merge_requests/93MH behaviour with movement. Matrix "A_MH_moving" to use also if linear system.2023-03-21T12:25:34ZRuth SabariegoMH behaviour with movement. Matrix "A_MH_moving" to use also if linear system.A_MH_moving was only tested for nonlinear systems, now it works also in case of linear systems. Minor correction with, I think :-), no side effects.A_MH_moving was only tested for nonlinear systems, now it works also in case of linear systems. Minor correction with, I think :-), no side effects.https://gitlab.onelab.info/getdp/getdp/-/merge_requests/92bug correction in movingband2022-03-15T13:08:07ZFrançois Henrottebug correction in movingbandhttps://gitlab.onelab.info/getdp/getdp/-/merge_requests/91first implementation of mortaring (brute force - still need to prune trace...2022-01-27T12:03:42ZChristophe Geuzainefirst implementation of mortaring (brute force - still need to prune trace...first implementation of mortaring (brute force - still need to prune trace element candidates to speed it up); cf. #109first implementation of mortaring (brute force - still need to prune trace element candidates to speed it up); cf. #109https://gitlab.onelab.info/getdp/getdp/-/merge_requests/90consider more options for the AlignedWith parameter in Tree2021-11-19T15:27:32ZFrançois Henrotteconsider more options for the AlignedWith parameter in TreeChristophe GeuzaineChristophe Geuzainehttps://gitlab.onelab.info/getdp/getdp/-/merge_requests/89add PYRAMID case for GetVolume()2021-10-10T06:54:37ZVadims Gezaadd PYRAMID case for GetVolume()When using GetVolume() on mesh with pyramids, getdp returns error "Function 'GetVolume' not valid for PYRAMID".When using GetVolume() on mesh with pyramids, getdp returns error "Function 'GetVolume' not valid for PYRAMID".https://gitlab.onelab.info/getdp/getdp/-/merge_requests/88don't consider high-order edge functions for those element types for which...2021-07-09T08:00:40ZPeter Bindepeter.binde@drbinde.dedon't consider high-order edge functions for those element types for which...don't consider high-order edge functions for those element types for which they are not (yet) implemented (i.e. non simplices)don't consider high-order edge functions for those element types for which they are not (yet) implemented (i.e. non simplices)Peter Bindepeter.binde@drbinde.dePeter Bindepeter.binde@drbinde.dehttps://gitlab.onelab.info/getdp/getdp/-/merge_requests/87Simple table onelab with list of double2021-06-08T15:57:40ZNicolas MarsicSimple table onelab with list of doubleHi Christophe,
This is a follow up of merge request !85 (sending tables via ONELAB).
I now follow the same strategy as in `NodeTable` and `ElementTable`, i.e. creating a static list populated by `Tabular_PrintElement` (where each `fpri...Hi Christophe,
This is a follow up of merge request !85 (sending tables via ONELAB).
I now follow the same strategy as in `NodeTable` and `ElementTable`, i.e. creating a static list populated by `Tabular_PrintElement` (where each `fprintf` is now followed by a `.push_back`).
The list is initiated in `Format_PostHeader` and sent via ONELAB in `Format_PostFooter`.
There are however two little details which I don't know how to treat:
1. how should we handle `FORMAT_VALUE_ONLY`, as it involves strings (see line [858](https://gitlab.onelab.info/getdp/getdp/-/blob/SimpleTableOnelabWithListOfDouble/Kernel/Pos_Format.cpp#L858))?
2. I don't understand the role of `GetDPNumbers[CurrentName]` and `GetDPNumbersMap[CurrentName]` (see lines [1545](https://gitlab.onelab.info/getdp/getdp/-/blob/SimpleTableOnelabWithListOfDouble/Kernel/Pos_Format.cpp#L1545) and [1558](https://gitlab.onelab.info/getdp/getdp/-/blob/SimpleTableOnelabWithListOfDouble/Kernel/Pos_Format.cpp#L1558)).
Do you have any suggestions?
Have a nice weekend,
Nicolas.https://gitlab.onelab.info/getdp/getdp/-/merge_requests/86Applyresolvent again2021-05-28T15:16:01ZGuillaume DemesyApplyresolvent againSalut Christophe,
These may be the last tuning of the first implementation of applyresolvent stuffs ;-)
Best, GuillaumeSalut Christophe,
These may be the last tuning of the first implementation of applyresolvent stuffs ;-)
Best, GuillaumeChristophe GeuzaineChristophe Geuzainehttps://gitlab.onelab.info/getdp/getdp/-/merge_requests/85Draft: Trying to send Tables (PostOperation) via ONELAB (as a string)2021-05-28T15:22:26ZNicolas MarsicDraft: Trying to send Tables (PostOperation) via ONELAB (as a string)Hi Christophe,
I was wondering if there is a way to send a SimpleTable (and co.) via ONELAB with a PostOperation?
I tried a simple
`Print[bPhiM, OnGrid ..., File ..., Format SimpleTable, SendToServer "Output/bPhiM"];`
but it doesn't w...Hi Christophe,
I was wondering if there is a way to send a SimpleTable (and co.) via ONELAB with a PostOperation?
I tried a simple
`Print[bPhiM, OnGrid ..., File ..., Format SimpleTable, SendToServer "Output/bPhiM"];`
but it doesn't work... am I missing something?
If I'm not, I looked a bit in the code, and hacked `Kernel/Pos_Format.cpp`...
I basically changed `Tabular_PrintElement` such that the table is printed in a string (in addition to the old `PostStream`) line-by-line.
With this string, I can send the lines of the tables via `Message::AddOnelabStringChoice` (by mimicking the case `PE->NbrNodes == 1 && PSO_P->Format != FORMAT_NODE_TABLE && PSO_P->Format != FORMAT_ELEMENT_TABLE`).
In the end, I have a ONELAB string with different choices, each of them being a line of the table, and I can get it back in python via `c.getStringChoices`.
We could also parse back the numbers in the string and send `onelab::number` instead of `onelab::string`, but I don't know if we can safely parse `%.16g` in a systematic way?https://gitlab.onelab.info/getdp/getdp/-/merge_requests/84Update Pos_Format.cpp for nodal displacement results in NX2021-03-26T21:17:46ZPeter Bindepeter.binde@drbinde.deUpdate Pos_Format.cpp for nodal displacement results in NXPeter Bindepeter.binde@drbinde.dePeter Bindepeter.binde@drbinde.dehttps://gitlab.onelab.info/getdp/getdp/-/merge_requests/83Update Pos_Format.cpp for improved nodal results output in NX Unv2021-03-23T16:05:54ZPeter Bindepeter.binde@drbinde.deUpdate Pos_Format.cpp for improved nodal results output in NX UnvPeter Bindepeter.binde@drbinde.dePeter Bindepeter.binde@drbinde.dehttps://gitlab.onelab.info/getdp/getdp/-/merge_requests/82Update Pos_Format.cpp for improved nodal results output in NX Unv2021-03-22T07:33:18ZPeter Bindepeter.binde@drbinde.deUpdate Pos_Format.cpp for improved nodal results output in NX UnvPeter Bindepeter.binde@drbinde.dePeter Bindepeter.binde@drbinde.dehttps://gitlab.onelab.info/getdp/getdp/-/merge_requests/81Applyresolvent smallfixes2021-02-19T16:45:46ZGuillaume DemesyApplyresolvent smallfixesHi Christophe,
Here are some fixes for NLeig & Applyresolvent:
- the flag triggering applyresolvent was not properly set so the onelab demo on NLEIG was broken.
- Jose Roman made some [suggestions](https://gitlab.com/slepc/slepc/-/issu...Hi Christophe,
Here are some fixes for NLeig & Applyresolvent:
- the flag triggering applyresolvent was not properly set so the onelab demo on NLEIG was broken.
- Jose Roman made some [suggestions](https://gitlab.com/slepc/slepc/-/issues/31)
Have a great WE!
GuillaumeChristophe GeuzaineChristophe Geuzaine