FreeFEM source code
Warning: this is an automatic release. If you encounter some trouble with packages, post a message in the forum.
hasType
to know if a PETSc component has been installed, e.g., hasType("PC", "hypre")
examples/eigen/LapEigen1DBeltrami.edp
or examples/hpddm/laplace-beltrami-3d-line-SLEPc.edp
--download-cmake
in PETSc configure if there is no CMake available--with-[slepc|slepccomplex]-include
and --with-[slepc|slepccomplex]-ldflags
for when SLEPc has been built outside of FreeFEM or PETScKSPSetResidualHistory
and KSPGetIterationNumber
mpiWaitAll
examples/hpddm/distributed-parmmg.edp
or examples/hpddm/laplace-adapt-dist-3d-PETSc.edp
examples/hpddm/transfer.edp
tgv
values: -10 => zero row, -20 => zero row/columnexamples/mpi
--enable-download_package
may now be used to download a single package, e.g., --enable-download_metis
mmg
and parmmg
(parallel mmg) plugins interfacing mmg5 and parmmg libraries, to replace mmg3d-v4.0
and freeyams
(Thanks to P-H Tournier)examples/3d/Laplace-Adapt-aniso-3d.edp
examples/3dSurf/Pinochio.edp
f.eatspace
to reach eof on istream file which return false in case of EOF.f.length
to get the istream file lengthPetscLogStagePush()
/PetscLogStagePop()
Mat
using a varf
bem
plugin for the Boundary Element Method (using htool and BemTool libraries)mpiCommSelf
keyworddscalprod
routine from HPDDM and PETSc plugins, use A(u, v)
with A
a Mat
or a schwarz
objectexport
function for macro_ddm.idp
, use savevtk
as in the sequential iovtk pluginWarning: this is an automatic release. If you encounter some trouble with packages, post a message in the forum
matrix A=eye(10);
real[int,int] af = eye(10,10);
real[int,int] a(10,10);
int[int] I=[1,3,6];
real[int] d = a.diag ; // get the diag of full matrix (no copy)
real[int] dI= d(I); // init a array from renumbering array
real[int] c= a(:,1)(I); // init a array from renumbering array
real[int] aa= a.asarray; // view full the matrice as an array (no copy)
a(2:5,3:7).diag= 200;
a.diag += 100;
lockOrientation
to allows the building of mesh without checking the orientation elements (AF)mat_edgeP1
(FH)diffusion-2d-mg.edp
and helmholtz-2d-mg.edp
showing how to use user-defined coarse correctionsMat
and schwarz
typesWarning: this is an automatic release. If you encounter some trouble with packages, post a message in the forum
TSSolve
, DAE/ODE solvers from PETScTaoSolve
, Toolkit for Advance Optimization from PETScRNM::real
, RNM::norm2
, and Fem2D::norm
) by C++11 functionsplotMPI
IterativeMethod
and DDM
.mesh
are now saved using version 2 (which stores floating-point scalars in double precision)trunc(Th, true)
(thanks to F. Feppon)Warning: this is an automatic release. If you encounter some trouble, please post a message on the forum
examples/hpddm/natural-convection-2d-PETSc-fieldsplit.edp
int[int][int] array;
is now supported (a size was previously needed, i.e., array(0);
)make check
, depending on available 3rd party librairiesdevelop
branch--download-slepc
int[int]
and an int[int][int]
, only a single int[int][int]
is now neededbuild
macros for HPDDM and PETSc have been simplified to follow the above API change, two parameters have been permuted as well to match the HPDDM and PETSc constructorsSNESSolve
(nonlinear PETSc solvers)Cofactor
functionFirst version of the v4 pre compile version (now development branch https://github.com/FreeFem/FreeFem-sources/commit/4b1a1a0ef720543cfb7f6bdd3390d94775ac9a40 ) in test.
on Mac version El Capitain (10.11.6) or better http://www3.freefem.org/ff++/ftp/FreeFem++-4.0-MacOS_10.11.pkg ( 387.5 Mb, Jan 18, 2019 17:36:05.)
win64: http://www3.freefem.org/ff++/ftp/FreeFem++-win64-4.0-beta.exe ( 3.2 Mb, Jan 18, 2019 17:41:08.)
Source version: http://www3.freefem.org/ff++/ftp/freefem++-4.0-beta.tar.gz
add x0=true/false, add veps=eps in solver parameters to initiaze of not the the CG , GMRES algo with 0 or previous value and veps is to get the absolue tolerance
A tool of solve adjoint matrix A with only one single LU decomposition with LU, UMFPACK, GMRES
u[]=A'^-1*b;
Add plugin to save matrix in Harwell-Boeing format (see Harwell-Boeing format)
trunc
(2d) in case of very fine mesh (eps too small)