- Jun 29, 2022
-
-
Giannis Nikiteas authored
-
Giannis Nikiteas authored
-
- Jun 28, 2022
-
-
Giannis Nikiteas authored
-
Giannis Nikiteas authored
-
Giannis Nikiteas authored
Also removes resolved TODOs and removes usage of target where not needed
-
Giannis Nikiteas authored
-
Giannis Nikiteas authored
-
Giannis Nikiteas authored
- You can use Fortran arrays as inputs, which are internally converted to C ptrs - You can input normal Fortran strings which are internally converted to C strs - You don't have to pass the size as an argument - Return arrays are now Fortran allocatables arrays - Jagged arrays are inserted/output as a single array and an array with the lengths of each dimension as opposed to cptr, cptr, size_n - Pairs are now a (1:2,n) array that is cast into an assumed shape array in C - `intent` keywords have been added to most variable types - Had to create a dummy modue `fsize_m` to prevent the intrinsic `size()` being shadowed by any potential variables being named `size` NOTES: 1. All the memory allocations in C need to be freed with a C callback otherwise we are leaking memory 2. TODO List: 1. Add intent(out) for oint, osize, odouble 2. Add optional arguments for ierr 3. Add more generic optional arguments see Python 4. Allow for already allocated arrays to be deallocated internally
-
- Jun 19, 2022
-
-
Giannis Nikiteas authored
-
- Jun 18, 2022
-
-
Giannis Nikiteas authored
Because of how type-bound procedures are defined the functions have to be parsed twice. First to generate the the types and the second time to implement the interface with the C API. `NOPASS` is used to signify that the procedures are static and
-
- Jun 16, 2022
-
-
Giannis Nikiteas authored
-
Giannis Nikiteas authored
This is just syntactic sugar since the Fortran Standard does not allow for intent(out), intent(inout) and volatile to be used with value.
-
- Jun 15, 2022
-
-
Giannis Nikiteas authored
-
- Jun 14, 2022
-
-
Giannis Nikiteas authored
Use lists instead of strs to store the argument names and types This is necesseary because a Fortran procedure/interface needs both a dummy argument list and a variable declaration following the arg list. This also make it easier to add argument `intent` and also provide an interface for optional arguments. Optional arguments could either be defined on the `interface` block or create a module implementation which calls `present`. I think in the former case the optional arguments would be handed to the C backend so e.g. stderr will be reported through C not Fortran
-
- Jun 13, 2022
-
-
Giannis Nikiteas authored
-
Giannis Nikiteas authored
Temorarily removes call to flog until we finish the wrappers
-
Giannis Nikiteas authored
The assumed size arrays have been converted into using the `dimension(*)` keyword in an attempt to remove some of the burden of formatting the Fortran interface from within the variable definitions. Newline characters have also been moved into the module generation part of the script.
-
Giannis Nikiteas authored
-
Giannis Nikiteas authored
Fortran moules are public by default so limiting the number of unecessary variables is important as to not populate the global scope.
-
Giannis Nikiteas authored
- Removes non-standard DEC$ directives - Changes comments to F90 (!) from F77 (C) - Adds semver major, minor, patch variables - Changes semver version to a larger string - Changes docstrings to be Doxygen abiding - Changes module name from `gmsh_fortran` to `gmsh` - Changes file extension from `.h` to `.f90` - Changes indendation to 4-space (fixed for now) - Fixes & being erroneously placed at the start of newlines vs EOL - Reformats variable commas, spacings, etc. to be consistent - Removes hardlimit for procedures names> 45 to be excluded from the API TODO List: 1. Abide by `indent`, currently spacing manually set to 4spaces 2. Add optional arguments for things such as `gmshModelAddPhysicalGroup` 3. Change names _n _nn to more descriptive names 4. Simplify spacing between procedure types 5. Convert API names to be user friendly get, set, etc.
-
- Jun 11, 2022
-
-
Christophe Geuzaine authored
-
Christophe Geuzaine authored
-
Christophe Geuzaine authored
-
- Jun 09, 2022
-
-
Christophe Geuzaine authored
-
- Jun 03, 2022
-
-
Christophe Geuzaine authored
-
Christophe Geuzaine authored
extrude curve mesh depending on geo.Source (like for surfaces and volumes) instead of assuming that the extrusion is always done from the start point of the curve
-
Christophe Geuzaine authored
-
- Jun 02, 2022
-
-
Christophe Geuzaine authored
create ghost cells in the usual way in PartitionUsingThisSplit() if they are not explicitly specified
-
- May 30, 2022
-
-
Christophe Geuzaine authored
-
- May 28, 2022
-
-
Christophe Geuzaine authored
-
- May 26, 2022
-
- May 24, 2022
-
-
Christophe Geuzaine authored
-
- May 23, 2022
-
-
Christophe Geuzaine authored
OpenMP forbids leaving block via exception: catch exceptions inside the block, and throw the last error outside the block (cf. #1941)
-
- May 22, 2022
-
-
Christophe Geuzaine authored
-
- May 21, 2022
-
-
Christophe Geuzaine authored
use gmsh.view.option.*(tag, ...) instead of gmsh.option.*("View[index]...", ...) in tutorials (cf. #1649)
-
Christophe Geuzaine authored
-
- May 19, 2022
-
-
Christophe Geuzaine authored
-
Christophe Geuzaine authored
-
- May 16, 2022
-
-
Christophe Geuzaine authored
-
Christophe Geuzaine authored
Could -> Could not See merge request gmsh/gmsh!469
-