Skip to content

Releases: FreeFem/FreeFem-sources

FreeFEM v4.15

06 Dec 12:54
Compare
Choose a tag to compare

Important changes:

  • 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 directory). When running a .md file, FreeFEM will execute the code contained in the FreeFEM code blocks, delimited by

    ```freefem
    [freefem code]
    ```
    

    Documented Markdown examples in the distribution can be viewed on the documentation website (toggle Search in examples). Markdown can be previewed with e.g Visual Studio Code, with the FreeFEM VS Code extension providing syntax highlighting for FreeFEM code blocks.

  • add command md2edp to extract freefem code form Markdown file.

  • PETSc 3.22.2

  • move the plugin msh3 in kernel , so remove all load "msh3" in all examples and .idp files

See CHANGELOG 4.15 for more detail

Remark,a small error has slipped into the version number in version 4.15 : the name of the version is 4.14 ( ... git v 4.15...) on apple silicon and intel mac version., not 4.15 ( ... git v 4.15...) , sorry, I will correct soon.

The new Mac version (develop) works after security authorization (see README.md)
(see the short movie https://www.youtube.com/watch?v=SEF4PAkR51g to understand howto do )
if you do not succed please
send me a Mail to: [email protected].

FreeFEM v4.14

05 Dec 09:48
Compare
Choose a tag to compare

[4.14] (develop version 6/7/24)

For download of binaries (Linux, Mac and Windows) scroll down a little bit to Assets

Added

  • Finite element BDM2 and BDM2ortho in test, Bug in BDM2ortho corrected the 4 sept 2014 in version: v4.13-130-g1af52457
  • Conversion of matrix or transpose of matrix in int[int][int] array to get the structure of sparse matrix.
    see tutorial/sparse-matrix.edp example at end
    matrix A = va(Ph,Vh);
    int[int] a = A, at= A';
    
  • a meshL finite function can be see as real function with 1, or 2 parameters
     meshL ThL = segment(10); fespace VhL(ThL,P1); VhL u= x;
     cout << u(0.5)   << endl;
     cout << u(0.5,0) << endl;
    
  • Exemple to code convolution of 2 function with one with a small support
    too be not to expanxive
    see tutorial/Convolution-Sample.edp example
  • Support for dense blocks in PETSc matrices
  • GenEO for saddle-point examples with PCHPDDM in PETSc
  • Distributed ParaView output on meshS
  • Interface to mmg2d for two-dimensional mesh
  • Support for Mmg parameters localParameter, -nosizreq, -hgradreq`

Changed

  • PETSc 3.20.2

Deprecated

Removed

Fixed

  • bug in P3pnc3d in vectorial case (thank to [email protected] )
  • in segment(10,region=1,label=ll); region is now used..

Sorry the ARM version (Apple-Silicon) was wrong before due to mistake in brew library
(need to install brew gfortran), the develop version (06/07/24, FreeFEM-v4.14-60-g660dbd36-Apple-Silicon-O.dmg) is correct on Mac M2 (almost all test are OK).

The new Mac version (develop) works after security authorization (see README.md)
(see the short movie https://www.youtube.com/watch?v=SEF4PAkR51g to understand howto do )
if you do not succed please
send me a Mail to: [email protected].

Remark: The dev file or with name --g*.dmg are the current develop version.

FreeFEM v4.14

14 Dec 08:43
Compare
Choose a tag to compare
FreeFEM v4.14 Pre-release
Pre-release

[4.14]

Added

  • Finite element BDM2 and BDM2ortho in test, Bug in BDM2ortho corrected the 4 sept 2014 in version: v4.13-130-g1af52457
  • Conversion of matrix or transpose of matrix in int[int][int] array to get the structure of sparse matrix.
    see tutorial/sparse-matrix.edp example at end
    matrix A = va(Ph,Vh);
    int[int] a = A, at= A';
    
  • a meshL finite function can be see as real function with 1, or 2 parameters
     meshL ThL = segment(10); fespace VhL(ThL,P1); VhL u= x;
     cout << u(0.5)   << endl;
     cout << u(0.5,0) << endl;
    
  • Exemple to code convolution of 2 function with one with a small support
    too be not to expanxive
    see tutorial/Convolution-Sample.edp example
  • Support for dense blocks in PETSc matrices
  • GenEO for saddle-point examples with PCHPDDM in PETSc
  • Distributed ParaView output on meshS
  • Interface to mmg2d for two-dimensional mesh
  • Support for Mmg parameters localParameter, -nosizreq, -hgradreq`

Changed

  • PETSc 3.20.2

Deprecated

Removed

Fixed

  • bug in P3pnc3d in vectorial case (thank to [email protected] )
  • in segment(10,region=1,label=ll); region is now used..

FreeFEM v4.13

30 Jun 13:21
cfb7acc
Compare
Choose a tag to compare

What's Changed

  • Release v4.13 by @phtournier in #283
  • PETSc v3.19.0 by @prj- in #262
  • Composite FE spaces and variational forms for coupled problems with different meshes/mesh types by @phtournier in #265
  • Fix METIS partitioning with one subdomain by @prj- in #247
  • Add KSPSolveTranspose for PETSc by @cmd8 in #256
  • Fix KSPSolveHermitianTranspose by @cmd8 in #257
  • Fix Conjugations in KSPSolveHermitianTranspose by @cmd8 in #258
  • Suppress cout when verbosity == 0 by @cmd8 in #259
  • Fix error messages. by @bangerth in #260
  • Remove obsolete unary and binary functions. by @mzf-guest in #263
  • Add CodeQL workflow for GitHub code scanning by @lgtm-com in #246
  • Rename functions from macro_ddm.idp by @prj- in #271
  • MatNullSpace -> nullspace by @cmd8 in #276

Full Changelog: v4.12...v4.13

the New mac intel version works on Monterey system (12.6) or newer (this is the develop version)

FreeFEM v4.12

01 Dec 17:50
1312e9d
Compare
Choose a tag to compare

What's Changed

  • PETSc 3.18.0 by @prj- in #238
  • Fixed a bug of setenv in shell.edp by @zhaog6 in #232
  • Version v4.12 by @prj- in #244
  • Version win64 for x86 not really tested
  • FreeFem++-4.12-win11-x64 tested and compile under window 11 x64
    Full Changelog: v4.11...v4.12
  • the Apple-M1 version is correct but warning on Ventura (13.0) see menu Security and confidentiality in Preferences System to unlock the application.

FreeFEM v4.11

05 Apr 19:47
b4dac55
Compare
Choose a tag to compare

Remark on Apple version, the two versions (M1, intel) are in test (full version with PETSC, mpi, all linear solve except PARDISO)
There is a problem of installation on arm and Intel version with external dynamic lib (.dylib)
I put a d version to solve dylib each
Follow the README.md in dmg file (in version -c) correction of install-app.sh script

What's Changed

New Contributors

Full Changelog: v4.10...v4.11

FreeFEM v4.10

13 Nov 15:28
9b88bed
Compare
Choose a tag to compare

Added

  • ridgeangle named parameter in ExtractMeshL in msh3 plugin
  • DG formulation in 1d :
    add integral of all border of element : intallBE(ThL) and unified the notation by adding
    intallBE(ThS) , intallBE(Th2), intallBE(Th3)
    nuVertex of now the vertex number of element in intallBE0d integral
    BoundaryBE, InternalBE to know if border element (BE) is on true boundary of not.
    update nElementonB in case on no manifold data (value greater > 2) in meshL, MeshS case ..
    add code to use jump, mean of test functuon on MeshL case. ( not in mesh3 ) to compute RHS.
  • add getcwd() function in shell plugin to ghet the current working dir
  • add nuVertex to get the vextex on element in some int?

Changed

  • PETSc 3.16.1

Deprecated

  • SLEPc and SLEPc-complex have been part of PETSc and PETSc-complex for multiple releases and are now deprecated

Fixed

  • examples/potential.edp correct problem in times loops and BC
  • tutorial/mortar-DN-4.edp correct problem of region number in meshL
  • fix problem in Curve mesh and intallBE , vertex number is wrong
  • portability issue on arm64-apple with make petsc-slepc
  • fix assertion failure with transfer and transferMat with some finite elements

What's Changed

New Contributors

Full Changelog: v4.9...v4.10

FreeFEM v4.9

19 Apr 19:47
897a6ed
Compare
Choose a tag to compare

Added

  • add P3 lagrange finite element on meshS and meshS
  • add new plugin meshtoolto add tool to compute the number of connected components of a all kind of mesh
    (mesh,mesh3,meshS,meshL) with 2 kind of connected components ones on interior part of the mesh (default) ans
    secondly on the closure of the mesh (see examples/hpddm/bConnectedComponents.edp )
    add functions int[int] In=iminP1K(Th,u) or int[int] Ix=imaxP1K(Th,u) get the array min/max of value u[i]
    where i is vertex number on each element k, so we have u[Im[k]] = min u[i]/ i in k;
  • add in plugin bfstream to to read binary int (4 bytes) to read fortran file and try to pull tools to share the endiannes
    in progress
  • add gluemesh of array of MeshL and MeshS type
  • interface to PC_MG_GALERKIN_BOTH
  • Kronecker product of two sparse matrices matrix C = kron(A, B)
  • add lot of finite element on Mesh3, MeshS, MeshL of Discontinous Galerling Element
    in 3d : P1dc3d, P2dc3d, P3dc3d, P4dc3d , P0edge3d ,P0edgedc3d , P0face3d ,P0facedc3d , P0VF3d ,P0VFdc3d ,
    on Surface : P1dcS, P2dcS, P3dcS, P4dcS , P0edgeS ,P0edgedcS , P0VFS ,P0VFdcS,
    on Curve : P1dcL, P2dcL, P3dcL, P4dcL , P0VFL ,P0VFdcL
    remark; the associated generic name existe of P1dc, P2dc, P0edge, P0VF and all dc finite element corresponding to
    no continuity across element.
  • add code of intallfaces to do Discontinous Galerkin formulation in 3d (in test FH.)

Changed

  • Now the order to find MPI in configure is first if you have PETSC then take MPI from PETSc
    otherwise use previous method
  • on MeshL defined with buildmeshL now the default label are 2k-1 (resp. 2k) for the begin (resp. end) of curve
    where k is the order of curve use in buildmeshL. So if you have one curve the labels are 1 and 2.
    And new the element label are te region number not the label.
    This element are not really test so be carfull.
  • PETSc 3.15.0

Fixed

  • bug in Find triangle contening point in 2d (border case),
    int Mesh::DataFindBoundary::Find(R2 PP,R *l,int & outside) const
    the parameter l not correclty return due to local variable.
  • set CFLAGS=-Wno-implicit-function-declaration to complie with Apple clang version 12.0.0 (clang-1200.0.32.29)
    to remove following error: implicit declaration of function
    correct 3dCurve/basicGlue.edpand add missing test
  • bugs in SLEPc SVDSolve() with a rectangular Mat
  • bugs in nElementonB for DG 3d formulation.

FreeFEM v4.8

20 Jan 09:31
a7d3089
Compare
Choose a tag to compare

Added

  • Bilaplacian example using Morley FE with PETSc, see examples/hpddm/bilaplacian-2d-PETSc.edp
  • Oseen problem preconditioned by PCD, see examples/hpddm/oseen-2d-PETSc.edp
  • SLEPc polynomial eigenvalue solver PEPSolve()
  • add trivail example to check periodic boundary condition on meshS , meshL , mesh3
    examples/3d/periodic3.edp examples/3dSurf/periodicS.edp
    examples/3dCurve/periodicL.edp

Changed

  • PETSc version 3.14.2
  • Mmg version 5.5.2
  • link of ffglut so change in configure.ac and Makefile.am LIBS -> FF_LIBS and LIBS become empty
    to remove default libs
  • change number of save plot in ffglut from 10 to 20 for O. Pironneau

Fixed

  • some memory leaks
  • the periodic boundary condition have wrong before first a sementic level of MeshS and MeshL case.
    the new syntexe is for example:
    meshL Tl=segment(10); fespace Vl(Tl,P1,periodic=[[1],[2]]);
    meshS Th=square3(10,10,[x2pi,y2pi]); fespace Vh2(Th,P1,periodic=[[1,x],[3,x],[2,y],[4,y]]);
  • fixed '*' keyboard trick, to keep the viewpoint in ffglut or not.

FreeFEM v4.7-1

17 Oct 10:20
0804136
Compare
Choose a tag to compare

Changed

  • change the language definition to use type as a construction function with named arguments for bem plugin
  • PETSc version 3.14.0
  • ARPACK compiled by SLEPc
  • Mmg version 5.5.0
  • -std=c++14 instead of -std=c++11 when possible

Removed

  • plugins thresholdings, symmetrizeCSR, and fflapack and associed example

Fixed

  • problem compilation with gfortran-10 of arpack and mumps (add -fallow-argument-mismatch flags)