Skip to content

Commit 730241c

Browse files
committed
up changelog
1 parent 01d1b89 commit 730241c

File tree

1 file changed

+106
-2
lines changed

1 file changed

+106
-2
lines changed

source/introduction/new-features.rst

+106-2
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,112 @@ New features
88

99
The notable changes of each **FreeFEM** release are listed below.
1010

11-
Version 4.13 (30 June 2023)
12-
---------------------------
11+
Version 4.15 (6 December 2024)
12+
------------------------------
13+
14+
* Added
15+
16+
- FreeFEM can now run Markdown (.md) files as well as .edp files. Markdown can be used to document your FreeFEM scripts (see for example the .md files in the `examples/examples <https://github.com/FreeFem/FreeFem-sources/tree/master/examples/examples>`__ directory). When running a .md file, FreeFEM will execute the code contained in the FreeFEM code blocks, delimited by
17+
18+
.. code-block:: markdown
19+
:linenos:
20+
21+
```freefem
22+
[freefem code]
23+
```
24+
25+
Documented Markdown examples in the distribution can be viewed on the `documentation website <https://doc.freefem.org>`__ (toggle Search in examples). Markdown can be previewed with e.g Visual Studio Code, with the `FreeFEM VS Code extension <https://marketplace.visualstudio.com/items?itemName=Pierre-Marchand.vscode-freefem>`__ providing syntax highlighting for FreeFEM code blocks.
26+
27+
- add command :console:`md2edp` to extract freefem code form Markdown file.
28+
29+
- add read binary file with short number in bfstream plugin
30+
- add 3d case in ClosePoints plugin : function Voisinage3, ClosePoints3
31+
32+
- add :freefem:`real[int,int] at=A';`
33+
34+
- Powell Sabin :freefem:`splitmesh6PowellSabin(Th)` splitting for Scott–Vogelius lowest Stokes Element in 2D
35+
in plugin/seq/splitmesh6.cpp
36+
37+
- Worsey Farin :freefem:`splitmesh12WorseyFarin(Th3)` splitting for Scott–Vogelius lowest Stokes Element in 3D
38+
in plugin/seq/splitmesh12.cpp
39+
40+
- functional interface with :freefem:`fgmres` (Linear and affine) in real and complex case
41+
see tutorial/algo.edp
42+
43+
* Changed
44+
45+
- PETSc 3.22.2
46+
- move the plugin msh3 in kernel , so remove all :freefem:`load "msh3"` in all examples and .idp files
47+
48+
* Fixed
49+
50+
- try to fix orientation of internal edges in 2d
51+
- fix missing break and continue in :freefem:`for [i,ai:a]` loop
52+
- line number in macro error (thanks to P-H Tournier)
53+
- fix problem in integration of moving test or unknown function in 2d mesh:
54+
55+
.. code-block:: freefem
56+
:linenos:
57+
58+
varf ab([u],[v]) = int2d(Th,mapu=[Xo,Yo])(u*v);
59+
matrix AB = ab(Zh,Rh);
60+
61+
we remove a piece of code.
62+
- fix problem in mesh of a ring from a square (missing option to remove duplicate vertices)
63+
example: :freefem:`mesh Th2=square(19,5,[(1+y)*cos(2*pi*x),(1+y)*sin(x*pi*2)],removeduplicate=1);`
64+
- Segmentation fault problem in Write_hdf5 (problem of allocation in the stack not on the heap) if the mesh2 is too large
65+
- fix :freefem:`(A'+A)` where func :freefem:`A =[[0,1],[0,0]];`
66+
- correct integer overflow (in rare case) when calling INTER_SEG1d use in interpolation on Th3,ThS,ThL
67+
thanks to G. Sadaka for finding the bug
68+
- correct hidden faces on surface mesh (ffglut)
69+
- remove optimisation flag ppm2rnm.cpp in macOS (load trap)
70+
- correct abcisse curviline on reparametrage function (setcurveabcisse) in :freefem:`load "Curvature"`
71+
- correct compilation on ARM sonoma xcode 15.2
72+
- correct mpi essai.edp MPI_ANY_SOURCE Pb
73+
74+
Version 4.14
75+
------------
76+
77+
* Added
78+
79+
- Finite element BDM2 and BDM2ortho in test, Bug in BDM2ortho corrected the 4 sept 2014 in version: v4.13-130-g1af52457
80+
- Conversion of matrix or transpose of matrix in :freefem:`int[int][int]` array to get the structure of sparse matrix.
81+
see tutorial/sparse-matrix.edp example at end
82+
83+
.. code-block:: freefem
84+
:linenos:
85+
86+
matrix A = va(Ph,Vh);
87+
int[int] a = A, at= A';
88+
89+
- a meshL finite function can be see as real function with 1, or 2 parameters
90+
91+
.. code-block:: freefem
92+
:linenos:
93+
94+
meshL ThL = segment(10); fespace VhL(ThL,P1); VhL u= x;
95+
cout << u(0.5) << endl;
96+
cout << u(0.5,0) << endl;
97+
98+
- Exemple to code convolution of 2 functions with one with a small support to be not too expensive
99+
see tutorial/Convolution-Sample.edp example
100+
- Support for dense blocks in PETSc matrices
101+
- GenEO for saddle-point examples with PCHPDDM in PETSc
102+
- Distributed ParaView output on :freefem:`meshS`
103+
- Interface to :freefem:`mmg2d` for two-dimensional :freefem:`mesh`
104+
- Support for Mmg parameters :freefem:`localParameter`, :freefem:`-nosizreq`, :freefem:`-hgradreq`
105+
106+
* Changed
107+
108+
- PETSc 3.20.2
109+
110+
* Fixed
111+
112+
- bug in P3pnc3d in vectorial case (thanks to [email protected])
113+
- in segment(10,region=1,label=ll); region is now used..
114+
115+
Version 4.13
116+
------------
13117

14118
* Added
15119

0 commit comments

Comments
 (0)