v 2.24-1 - correct periodic condition in case of one edge - correct doc file v 2.24 - bug with border and func this kind of code now works func abc= a(6) + b(4) + c(4) ; func def = d(4) + e(4) + f(6); func bbb= abc + def; plot(bbb); mesh Th=buildmesh(bbb); whare : a,c,b,c,d,e,d are border. - correct bug in periodic Boundary Condition( find by Alexandre Masserey ) mistake in abscisse choose. sometime assert fail (loop). add option to the buildmesh that the boundary is fixe (fixeborder=true) see : examples++-tutorial/periodic4bis.edp - and R1.hpp, R2.hpp, R3.hpp files for the 3d version. v 2.23-2 - correct trap in adapdmesh (in mortar-DN-4.edp) in very rare case du to intialized adj of edges on geometry (very old bug) in case of multi points. with vebosity=10; you get this message: -- Begin of insertion process bug 2 Bug double points in .... Fatal error in the meshgenerator 5 .... v 2.23-1 - correct assert fail in check in case of no UMFPACK v 2.23 - add new edge finite element (P1 to P5) in examples++-load/Element_PkEdge.cpp examples++-load/testFE-PkEdge.edp - preconditionned mortar example Neuman -> Dirichet in scalar and parallele see examples++-mpi/mortar-DN-4-mpi.edp examples++-tutorial/mortar-DN-4.edp - add vectorial operator d= a ? b : c where d,a is a array, and b,c can be array or scalar usefull for boundary condition - correct probleme in mpi recive message - correct load dynamic on MacOs (bug in fortran find library) in configure.ac v 2.22-2 - small change in configure.ac of find libumfpack on debain systeme - correct checking code in probleme to same the mesh must be unique in problem of solve definition. v 2.22-1 - make change in Makefile to build universal binary on MacOS - change the README file for compilation on ubuntu Linux. v 2.22 (december, 18, 2007) - correct problem of string argument in function - correct all elasticity problem (missing sqrt(2) ) - correct save of log file under Windows XP, .. v 2.21 (november, 18, 2007) - correct documentation for new edition - correct configure for no X11 and UMFPACK in sparsesuite v 2.20-1 (october, 24, 2007) - correct compilation problem without umfpack - add formal operator for vectorial operator in variationnal form +, - on [ ] array trace operator matrix like [ [ ... ], .., [... ] ] take element of an array [ ...][2] v 2.20 (october, 2, 2007) - add in download automatic generation of f2c and fort77 to get a free fortran compiler just go in (download/f2d;make install) - add automatic find of libf2c in case of F77=fort77 (driver of f2c) in configure - add tools to change the sparse linear solver with load dynamic, see doc and SuperLu example in examles++-load v 2.19 (august, 19 2007) - correct buildmesh from geometry file and add nbvx= named parameter to infore the maximal number of verter in a mesh. - add Th[k].area to get the area of the k-th triangle of Th. - add Th[k].region to get the region number (label) of the k-th triangle of Th. - correct string delete in plot of border (mesh.edp) - correct mean and jump in interpolation operator. v 2.18-1 (august, 2007) - correct old bug under Windows: the std input stream now works (cin) v 2.18 (july, 19, 2007) - add sort of real array or int array, syntaxe: a.sort, and we have : a[i-1] <= a[i] for i =0 to a.n-1 - add v=a.quantile(p) ; statisticial function and commute v such than #{ i / a[i] < v } = r*a.n <=> v = a[r*n] when the array is sorted. - correct P4nc, P4 finite element v 2.17-2 (19 june 2007) - correct double $(BLASLIB) in configure.ac (one more) - correct old bug in bamg, in case of bogus boundary (auto crossing)and add code to handle this error correctly with exception (see "test to catch bogus boundary" of example++-tutorial/mesh.edp). v 2.17-1 - add the command line parameter [-v nn] in all freefem++ program to set the level of verbosity to nn before all, and if nn == 0 then theoriticaly no more spurious output. - correct automatique choose of color in plot of arrow. v 2.17 - add bessel function j0, j1, jn, y0, y1, yn -- bessel functions of first and second kind - add erf, erfc -- error function operators - add tgamma, lgamma -- gamma and log of gamma - add tool set and get line,colunm and value of a sparce matrix [I,J,C]=A; // resizing array I,J,C A=[I,J,C] ; where int[int] I(k),J(k); real[int] C(k); - add in tools to get eigen vector of None FE problem like: int nev=5; // number of computed eigen valeu close to sigma real[int] ev(nev); // to store nev eigein value real[int,int] eV(AA.n,nev); // to store nev eigen vector int k=EigenValue(AA,BB,sym=true,11value=ev,rawvector=eV); - correct the quadrature formular automatic choose with the qforder= field by default the order is correct until order 10 (so exact for P9 polynomals) to add new Quadrature formalur up two order 26 add dynamic load qf11to25 v 2.16-2 correct configure.ac for windows ide compile correct meshsplit, trunc function v 2.16 april 17 2007 Change umfpack download version to the last one add string input from file or cin add Compressible Neo-Hookean Materials exemple v 2.15-1 Correct mistake in cas of splitmesh with internal boundary (assert) Add dump of the mesh regulary (pesonnal work, FH) v 2.15 (27 mars 2007) The blas.tgz file change on http://www.netlib.org/blas/blas.tgz correct the makefile (remove BLAS dir) v 2.14-3 (24 mars 2007) Correct bug in vectorial operation of type (b - 3.14*d) (Thanks to F. Dortu) v 2.14-2 (22 mars 2007) correct integration problem on none classical mesh (mesh of curve of mortar technique) the mesh::Find methode is boggus of the kind on meshes, i make an optimisation to remove this call in case build matrix with varf int1d(Th)( u*v) , in case of Th, u or v is def. on same meshes. v 2.14-1 (0 mars 2007) correct missing speeling in configure.ac mpi++.h -> mpi++.h for mpich.1.2 add computing linear form of 2 meshes (ex. v on mesh Th1, and compute int2d(Th1)(v) ) v 2.14 (7 mars 2007) make correction for solaris bluid add P3,P4 and new quadrature formular on triangle up degree 25 with dynamics load. See examples++-load/*P[43]*.edp correct mistake when we build matrix from varf with 3 meshes (FH). v 2.13 Add formal operator * and ' (to day just transpose) on vector [ .. ] and matrix [ [],..., []] so we can write macro grad(u) [ dx(u),dy(u)] // EOM int2d(Th)( grad(u)'*grad(v) ) add scalar term in block matrix as 1x1 matrix. v 2.12-2 correct problem in splitmesh and trunc trunc build always a part of a subdivision mesh splitmesh given more pretty mesh, before if we split 2 adjacent triangle resp in 3 and 4, before we put 2+3 points on the common edge now the put 3 points. v 2.12-1 (jan 15,2007) correct early delete of return pointeur in freefem++ function (trap in string.edp under windows ) v 2.12 ( jan 10,2007) correct mistake in none square block matrix v 2.11-2 (nov 29,2006) correct integration problem on none classical mesh (mesh of curve of mortar technique) the mesh::Find methode is boggus of the kind on meshes, i make an optimisation to remove this call in case build matrix with varf int..(Th)( u*v) , in case of Th, u or v is def. on same meshes. v 2.11-1 (nov 28,2006) Correct bug in interpolation, we building fespace Wf(Th,[RT0,P0]); v 2.11 (nov 10,2006) Correction of the problem in arpack (eigenvalue computation) under i383 processor. After 2 week of hard work, a found the bug. In new version of LAPACK second is a real function and in ARPACK second is a subroutine (Thank the fortran). So I change the Makefile to change the name of function second into secnd2. How to find the bug, in this case the stack of the floatting register (info float under gdb) are growing. So after any real function can return a NaN (one time) due to stack float register overflow. A big Thank to D. Bernardi of the help (Merci au fortran et Merci au i383). v 2.10 (oct 26, 2006) correct problem with eigen value on window and some linux distrubition (Fedora) add a patch of two functions in lapack see arpack/arpack-patch-lapack.tar.gz v 2.9 (sept 19, 2006 FH) change Send and Recv in mpi to Isend and Irecv to make async communication so now freefem++-mpi work with openmpi. V 2.8-3 correct freefem++-cs trap under windows (install the static version) add tools to format ostream ( file or cout) V 2.8-2 (july) use f2c as a fortran compiler on MacIntel architecture, correct mistake in mpi. (june 2006) add nint, and correct mistake in ceil function add configure flag to remove cadna --without-cadna V2.8 Correct mistake in OtherMacOsLib.tgz store file and not link (after 1 june) * Correct bug in vectorial problem with same approximation, some time we do a renumbering of the previous approximation space (a pointer mistake). V2.7-1 * change size of data in 64 bits architecture (in file AnyType.hpp) V2.7 * correct mpi Makefile * correct bug in construction of recursive composite finite element (see HISTORY) remark: the finite elemnt struct, so all dynamic library must be recompile. V2.6-1 * add the examples-bamg directory in freefem++ and correct bamg graphic V2.6 * Huge work (more than a full week) to improve the windows version change all the .dll construction remove lots of trap. All example run without graphics V2.5.1 * change nbve= to nev= in EigenValue function (to be compatible with the doc) * newtow to newton (to correct misspelling) * change in AnyType to remove da randow bug on windows. * vim color syntax from Richard MICHEL (vim_highlighting_for_FF++.tar.gz) V2.5-0 * add C++ string operator : int i; string s = "...."; i=s.length ; i=s.size; i=s.find("qsdqs");i=s.rfind("sqs"); i=s.find("qsq",2); s(3:4)="sdfffsf"; // replace from char 3 to 4 by // s[3] not alloued to day (char type is not well type in freefem++). getline(cin,s); * Correct bug when passing parameter string in function * add freefem++ mode for mi editor on macos http://www.mimikaki.net/en/ store in mode-mi-edp.zip archive (unzip and put in the Folder openned with the mi "Option->Open Mode Folder" menu and set "mi" is the Default application for all the .edp file). V2.4-2 * add lot missing vectorial operation with sub array * if u is a complex array (i.e. complex[int u] ..;) then u.re (resp u.im) are the real array of the real (resp. imag ) part of the vector u * in block matrix add utilisation of array to build the block matrix see new Laplace-lagrange-mult.edp file to have an example V2.3-3 * add outer product to set matrix or full real or complex 2D array A = 2*a*b'; // where A is a "real[int,int]", b and c a "real[int]". A += 2*a*b'; or A = 2*a*b'; add matrix and array renumbering (see sec. 4.8 of freefem++.doc for all details) V2.3-0 * add three key word for future use try,catch throw a exception handling (no memory management.) try { code ; } catch (...) { code ; } * use tolpivot= to set the pivottol in LU, crout, cholesky factorization V2.2-1 * Add init file to set verbosity, includepath , loadpath and add preload (dynamic link file) the file are under unix and MacOs /etc/freefem++.pref /Users/hecht/.freefem++.pref freefem++.pref under windows freefem++.pref and the syntaxe of the files is verbosity= 5 loadpath += "/Library/FreeFem++/lib" loadpath += "/Users/hecht/Library/FreeFem++/lib" includepath += "/Library/FreeFem++/edp" includepath += "/Users/hecht/Library/FreeFem++/edp" # comment load += "funcTemplate" load += "myfunction" * Add search directory for include, and load under Unix and Windows Just on the shell sh set environment variable export FF_VERBOSITY=50 export FF_INCLUDEPATH="dir;;dir2" export FF_LOADPATH="dir;;dir3"" remark the separtor of directory is ";" and not ":" because ":" is use under Windows. * Examples of Add new Finite element with dynamic link/load, Morley and Bernardi Raugel see examples++-load V2.1-2 * add more example of dynamic load example (thank to F. Dortu) * correct mistake in simple integral computation (not in variationnal form) before we alway use a quadrature formula of order 3, now we can change the quadrature formula and the defaut is of order 5. V2.0-4 * change in mshptg the size of the small possible edge from 1/32000 to 1/1 000 000 000, this mesher is use in trunc, splitmesh, and triangulate functions. V2.0-3 * correct operator x =/, it does nothing before. (v2.0-3) see end examples++-tutorial/array.edp for all array operator = + - * / .* ./ += -= /= *= : .l1 .l2 .linfty .sum .max .min ' * correct bug when solving complex linear system with UMFPACK before we solve the system when the conjugate matrix Major Change previous version ----------------------------- * add ternary C expression Symbol Example Explanation ?: a?b:c ternary operation * add sparse matrix computation, block matrix construction interpolation construction see examples++-tutorial/sparse-cmatrix.edp examples++-tutorial/sparse-matrix.edp examples++-tutorial/mat_interpol.edp not so well tested, but could be worse. * add example to solve vartionnal inequation. VI.edp * add possibility to build matrix where the 3 meshes the integrale mesh, unkwon FE mesh, test FE function can be different. You must use varf to build the matrix is not a standard porblem. * Improvement of dynamic loading facility under the 3 systems add a fast fourier transform with dynamic loading see examples++-load/dfft.edp