Skip to content

Commit

Permalink
Merge develop branch, tag release 1.2.2
Browse files Browse the repository at this point in the history
    Document GCC10+ issue
    Update README.md
    Recompile windows and linux mex files
    Update mwrap support infrastructure
    Minor fixes
  • Loading branch information
zgimbutas committed Mar 4, 2021
1 parent 0bd1854 commit 452c2d0
Show file tree
Hide file tree
Showing 12 changed files with 327 additions and 502 deletions.
4 changes: 2 additions & 2 deletions COPYING
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2009-2012, Leslie Greengard, Zydrunas Gimbutas
Copyright (c) 2009-2012, Leslie Greengard and Zydrunas Gimbutas
All rights reserved.

Redistribution and use in source and binary forms, with or without
Expand All @@ -11,7 +11,7 @@ modification, are permitted provided that the following conditions are met:
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

3. Neither the name of the copyright holder nor the names of its
3. Neither the name of the copyright holders nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.

Expand Down
22 changes: 21 additions & 1 deletion INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,9 @@ for a single-threaded test, or
When requested to `ENTER n`, a good number to enter is 10000 (do not format this
as 1e4, since it can only read integer formats).

Errors in outputs close to machine precision should be reported.
Errors in outputs close to machine precision should be reported.
Warnings about floating-point exceptions are normal and to be ignored.


To prevent segfaults in fortran executables with openmp, you will want to do the following in your shell:

Expand All @@ -46,3 +48,21 @@ ulimit -s unlimited # unlimited stack
This is because large static allocations are used in the fortran test drivers.

Please type `make` to see a list of other make options.


**Note** if using gfortran v 10 or above: Since we use passing of size-1 arrays
as pointers, GCC10+ raises errors. You will need to add
```
FFLAGS+=-std=legacy
```
in the relevant sections of `src/Makefile` and `examples/*.make`
which turns these into mere warnings.


### Octave notes

These routines are identical to the MATLAB ones.
To test the shipped mex binary, use eg
`cd matlab; octave test_hfmm2dpart_direct.m`.
To rebuild the binary use `make mex-octave`, then test as above.

40 changes: 34 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,22 @@
This is the second public release of the particle FMM library in R^2.
# Helmholtz and Laplace FMM library in R^2.

Date: November 8, 2017
Date: November 9, 2017

Version 1.2.1
Version 1.2.2


The FMMLIB2D suite permits the evaluation of potential fields due to
particle sources, governed by either the Laplace or Helmholtz equation
in free space. The codes are easy to use and reasonably well optimized
for performance. A rudimentary manual is provided in the FMM2D/doc
directory.

FMMLIB2D contains both Fortran source code and versions compiled for
MATLAB under Mac OS X (64 bit), Windows (64 bit), and Linux (64 bit),
and Octave until Linux.


### License

```
Copyright (C) 2010-2012: Leslie Greengard and Zydrunas Gimbutas
Expand All @@ -18,7 +32,7 @@ modification, are permitted provided that the following conditions are met:
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its
3. Neither the name of the copyright holders nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
Expand All @@ -41,9 +55,14 @@ src/ - Fortran source code
examples/ - Fortran testing drivers and makefiles
matlab/ - matlab scripts and mex files
contrib/mwrap-0.33.3/ - mwrap source code
INSTALL.md - installation and testing instructions
```

To test the library, please type `make test`.
To test the library, please type `make test`, and when prompted
to `ENTER n` type something sensible like `10000`.
You should see text output with small errors listed.
Warnings about floating-point exceptions are normal and to be ignored.
See [INSTALL.md](INSTALL.md) for more details.


### Fortran
Expand Down Expand Up @@ -74,7 +93,7 @@ z2dpartdirect - Laplace particle target interactions in R^2 (Cauchy).
c2dpartdirect - Laplace particle target interactions in R^2 (g. Cauchy).
```

### Matlab
### MATLAB / Octave

```
% Helmholtz and Laplace FMMs in R^2.
Expand All @@ -94,3 +113,12 @@ c2dpartdirect - Laplace particle target interactions in R^2 (g. Cauchy).
% c2dpartdirect - Laplace particle target interactions in R^2 (g. Cauchy).
%
```

### Acknowledgments

This work was supported in part by the Department of Energy and in
part by the Air Force Office of Scientific Research under MURI grant
FA9550-06-1-0337 and NSSEFF Program Award FA9550-10-0180, in part by
the NSF under grant DMS09-34733, and in part by Meyer Sound
Laboratories, Inc.

Loading

0 comments on commit 452c2d0

Please sign in to comment.