Commit Graph

53 Commits

Author SHA1 Message Date
Michele Guerini Rocco
5c78af975a
add support for intel compilers 2024-11-04 12:00:19 +01:00
Michele Guerini Rocco
80782a58fc
Makefile: add flag for loop parallelisation 2024-11-04 12:00:16 +01:00
Michele Guerini Rocco
d52e125d9c
src/gray_core: improve error reporting
- Avoid logging the same error over and over

- Make all the gray_errors actually warnings

- Replace `large_npl` error with `unstable_beam`, which is actually
  the root cause of the former

- Use the gray_main error as exit code
2024-11-04 12:00:16 +01:00
4f0e06ea71 Makefile: split install target for binaries and documentation 2024-05-30 17:52:40 +02:00
Michele Guerini Rocco
624fbe3ec1
Makefile: fix .d generation for vendored libraries 2024-05-21 13:57:16 +02:00
Michele Guerini Rocco
60e30692cb
Makefile: stop at first syntax error
This flag prevents gcc from outputting a wall of text everytime you
forget a comma.
2024-04-29 10:08:16 +02:00
Michele Guerini Rocco
3115e9e9f8
move vendored libraries to their own directory 2024-04-29 10:08:16 +02:00
Michele Guerini Rocco
a596b0dff2
add gray-convert tool
This is a command line tool to convert between different GRAY
configuration file formats.
2024-04-22 19:09:29 +02:00
Michele Guerini Rocco
097fa42329
Makefile: run tests in parallel 2024-04-12 17:31:53 +02:00
Michele Guerini Rocco
38a8edd439
doc: reorganize example input files 2024-02-16 00:38:43 +01:00
Michele Guerini Rocco
b582eb19b8
Makefile: fix for multiple #include directives
Forgot to add a \ separator
2024-02-09 11:16:21 +01:00
Michele Guerini Rocco
c5a4b180bc
src/gray_params.f90: replace magic numbers with enums
1. Introduces enumerations (and some booleans) intended to replace all
   the magic numbers used throughout the code to represent multiple
   choices.

2. Replace the gray_params.sh script a new one that automatically
   generates code for all the GRAY parameters by parsing
   gray_params.f90.

3. Also generate extra code to accept the enum identifiers as valid
   values in the configuration files and command line arguments.

4. Set sensible default values for parameters that are rarely changes.
2024-02-09 11:16:18 +01:00
Michele Guerini Rocco
686f63b01a
fix some gfortran warnings 2024-02-09 11:16:17 +01:00
Michele Guerini Rocco
6fad08ed7c
add tests 2024-02-09 11:16:17 +01:00
Michele Guerini Rocco
7417d88d73
Makefile: make use of install portable
install -D on GNU is actually install -d on BSD.
2024-01-24 14:37:21 +01:00
Michele Guerini Rocco
02ade0e2d0
fix static compilation on macOS 2024-01-24 14:37:21 +01:00
Michele Guerini Rocco
d8ffd97739
Makefile: hide warnings when .d missing 2024-01-24 14:37:21 +01:00
Michele Guerini Rocco
b25cdf5f35
Makefile: link gray to libgray
This changes gray to always link to libgray, either statically or dynamically.
2024-01-24 14:37:21 +01:00
Michele Guerini Rocco
af1ed7d1b6
Makefile: fix libgray.a with parallel building
ar does not support multiple builder writing to the same file.
This disable parallel building for .a targets.
See also "Archive Pitfalls" in the GNU Make manual.
2024-01-24 14:37:20 +01:00
Michele Guerini Rocco
c889c754f7
fix partial updates to libgray.a when using Nix
When building the static library the Nixpkgs stdenv `ar` defaults to not
writing timestamps for the members file. This imply make will always try
to add all members to the archive, which defeats the purpose of the
file-level granularity.
2024-01-24 14:37:20 +01:00
e3656e8bdd Fix debug/optimization flags 2023-10-20 13:42:06 +02:00
10dc3ba3d0 Improve documentation build
- Documentation is not built anymore with the default `all` rule to
improve portability. It must be built explicitly with `make docs`.
- Font types are not specified to allow building on systems with a
restricted set of fonts.
- Syntax fixes in the documentation Markdown.
2022-11-17 19:31:58 +01:00
ddfc5db039 Add -fPIC flag to compile successfully on some systems 2022-11-14 18:23:20 +00:00
6181b6096e Fix Makefile to remove literal '\n' printed in .d files in some systems. 2022-10-28 13:32:56 +02:00
Michele Guerini Rocco
df4930818f
Makefile: add JETTO-specific target 2022-09-27 18:44:32 +02:00
Michele Guerini Rocco
281a649212
Makefile: fix default PREFIX 2022-05-11 01:15:07 +02:00
Michele Guerini Rocco
d52fee084b
Makefile: fix gray.1 not being generated in all 2022-05-11 01:15:07 +02:00
Michele Guerini Rocco
e81308d048
add option to set parameters from the command-line 2022-05-11 01:15:07 +02:00
b379a20192
Makefile: change docs rule to make it work on macOS 2022-05-11 01:15:05 +02:00
Michele Guerini Rocco
6938d8c061
Makefile: make the .d rule portable
The \+ syntax is not POSIX and supported only by GNU sed.
This changes both the grep and sed commands to use extended regex.

Note: sed -E option is not POSIX either, but widely supported.
2022-05-11 01:15:05 +02:00
Michele Guerini Rocco
5a8e64a595
Makefile: fix shell quoting 2022-05-11 01:15:03 +02:00
Michele Guerini Rocco
9a39251f44
doc/gray.1 generate from gray --help 2022-05-11 01:15:02 +02:00
Michele Guerini Rocco
01a6f9145c
initial gray CLI work
This lays down the basis for the gray command-line interface.
All options works but currently --units and -v/-q have no effect.
2022-05-11 01:15:02 +02:00
Michele Guerini Rocco
93d936ce24
Makefile: ignore instrisic modules
This excludes intristic modules like `iso_fortran_env` from the
automatic generation of the prerequisites.
2022-05-11 01:15:02 +02:00
Michele Guerini Rocco
5a50ce1cef
Makefile: add debug option 2022-05-11 01:15:00 +02:00
Michele Guerini Rocco
08dad4ff45
add documentation 2021-12-15 02:30:58 +01:00
Michele Guerini Rocco
693af2a763
merge graysum and gray
Note that graysum, now as sum_mode, still doesn't support multipass.
2021-12-15 02:30:55 +01:00
Michele Guerini Rocco
75c30ee834
move manual into a doc subdirectory 2021-12-15 02:30:51 +01:00
Michele Guerini Rocco
1a7db631de
actually use the configure script 2021-12-15 02:30:48 +01:00
ad7852d9c2
rework the build system
- unify the three makefiles into a single generic one

- automatically generate link targets (via the `depend` script)
  and object dependencies (via a make rule)

- move all build artifacts under the build/ directory

- replace svn with git for the version information

- add a `static` variable to toggle between static/shared builds

- add a target to build the dependency graph of GRAY modules
2021-12-10 16:21:31 +01:00
6892646623 updated makefile, added manpage, fixed few print statements 2019-12-09 14:49:37 +00:00
Daniele Micheletti
27f1793f14 trunk: added multiple passes calculation; added multipass module; graycore/gray_main: subroutine rewritten; equilibrium/read_equil_an: limiter coordinates read from equilibrium file for ipass>1; err_codes/check_err: istop=1 only for alpha<0; pec/pec_tab: fixed index assignements in loops; polarization/pol_limit: fixed ext,eyt normalization 2019-03-26 14:21:22 +00:00
46e36a5792 re-added missing output files, file units specified in dedicated module, added option iequil=3 for partially filled psi(R,z) grid on input: required for integration in JETTO 2015-11-23 17:55:27 +00:00
68e8217ff3 * reduced arrays required for dI/ds,dP/ds integration
* new module for error handling
* input parameters collected in a single file
* fixed uninitialized pabs,icd
2015-11-19 18:20:58 +00:00
ce10204479 nocommon branch merged back into trunk 2015-11-18 16:34:33 +00:00
Daniela Farina
9eb901015e corrected a bug in fwork for dbgr and in ic_gb for ypwrk0 2015-11-04 10:21:50 +00:00
608d63acfe fixed few out of bounds checks. added imx (dispersion) read from gray.data 2015-01-23 15:08:41 +00:00
Daniela Farina
3a798e9f4a added ipol option and computation of polarization parameters at all steps, added case imx negative to disable convergence in dispersion 2014-12-22 15:30:17 +00:00
Daniela Farina
d21f9b12f4 print in fort.33 also for tau>taucr; changed test for Npl>1 in after_onestep 2013-11-27 14:27:02 +00:00
8c9273d684 added reflection on limiter with arbitrary R,z shape 2012-11-28 18:33:02 +00:00