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
a30cd09e8e
src/math.f90: use the intrinsic gamma function
...
- remove the `gamm` function
- rewrite `fact` in terms of `gamma`
2022-05-11 01:15:05 +02:00
Michele Guerini Rocco
98599b2b7d
src/dispersion.f90: compute factorials incrementally
2022-05-11 01:15:05 +02:00
Michele Guerini Rocco
91a2e6cf07
src: implement toggling of output units
...
This actually implements the --units option
2022-05-11 01:15:04 +02:00
Michele Guerini Rocco
96359bc3fd
src: use hypot and norm2 when possible
2022-05-11 01:15:04 +02:00
Michele Guerini Rocco
18c1126d28
src/gray_params.f90: improve print_parameters
...
- add all missing parameters (not *data*)
- use shorter formatting
2022-05-11 01:15:04 +02:00
Michele Guerini Rocco
add59dbdda
src: use the logging system everywhere
2022-05-11 01:15:04 +02:00
Michele Guerini Rocco
f2f41ec023
src/logger.f90: init
...
This change adds a minimal logging system. The log messages carry a
timestamp in μs, the identifier of the emitter (fortran module +
procedure) and a log level. For simplicity the format is hardcoded.
2022-05-11 01:15:04 +02:00
Michele Guerini Rocco
ed0917aa8c
src/conical.f90: eliminate dead code
...
Use the intrinsic functions when possible (bessel_j0, bessel_j1) and
remove other unused functions.
2022-05-11 01:15:03 +02:00
Michele Guerini Rocco
ef1617713f
src: simplify handling of free units
...
This changes the behavior of `get_free_unit` to simplify the handling of
optional unit numbers.
2022-05-11 01:15:03 +02:00
Michele Guerini Rocco
095ee7ecf2
default.nix: exlcude result
from source
2022-05-11 01:15:03 +02:00
Michele Guerini Rocco
da1ddd186e
default.nix: enable parallel build
2022-05-11 01:15:03 +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
2bee7be103
src/graycore.f90 -> src/gray_core.f90
...
Rename for consistency with other modules.
2022-05-11 01:15:02 +02:00
Michele Guerini Rocco
d18e05353a
src: remove unused parameters
2022-05-11 01:15:02 +02:00
Michele Guerini Rocco
7818ac731c
src/gray_jetto1beamf90: update for graycore changes
2022-05-11 01:15:01 +02:00
Michele Guerini Rocco
f56e1cbc05
src/coreprofiles.f90: use derived types
2022-05-11 01:15:01 +02:00
Michele Guerini Rocco
948a512254
src: use derived type arguments (work in progress)
...
This change structures the arguments of most functions, in particular
gray_main, into well-defined categories using derived types.
All types are defined in the gray_params.f90 (location subject to
change) and are organised as follows:
gray_parameters (statically allocated data)
├── antenna_parameters
├── ecrh_cd_parameters
├── equilibrium_parameters
├── misc_parameters
├── output_parameters
├── profiles_parameters
└── raytracing_parameters
gray_data - inputs of gray_main (dynamically-allocated arrays)
├── equilibrium_data
└── profiles_data
gray_results - outputs of gray_main (dynamically-allocated arrays)
2022-05-11 01:15:01 +02:00
Michele Guerini Rocco
4f867bad14
src/magsurf_data.f90: fix memory leak
2022-05-11 01:15:01 +02:00
Michele Guerini Rocco
b1694bc575
src/pec.f90: fix uninitialised memory use
...
If the condition `sccsa > zero` is not met, ratj{a,b}mx remain
unitialised and print_finals may write them to fort.7.
2022-05-11 01:15:00 +02:00
Michele Guerini Rocco
5a50ce1cef
Makefile: add debug option
2022-05-11 01:15:00 +02:00
Michele Guerini Rocco
d9b03fc5e6
doc/3.io-files.md: fix some inconsistencies in gray_params
2022-05-11 01:15:00 +02:00
Michele Guerini Rocco
78c96c7648
doc/2.physics.md: fix equation spacing
2022-05-11 01:15:00 +02:00
Michele Guerini Rocco
712260ae26
doc/3.io-files.md: all angles are in degrees
2022-05-11 01:15:00 +02:00
Michele Guerini Rocco
58ee0bdc1b
doc: add anchor links to headings
2022-05-11 01:14:59 +02:00
Michele Guerini Rocco
861a723ebc
src/equilibrium.f90: fix mixed tab/spaces
2022-05-11 01:14:59 +02:00
Michele Guerini Rocco
08dad4ff45
add documentation
2021-12-15 02:30:58 +01:00
Michele Guerini Rocco
bfbd479d20
src/const_and_precisions.f90: clean up
...
- formatting
- remove commented out constants
- remove constants not used anywhere in GRAY
2021-12-15 02:30:56 +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
37ee881024
src/gray-externals.f90: remove
...
Apparently, this module only constains old unused routines.
2021-12-15 02:30:54 +01:00
Michele Guerini Rocco
1648a7878a
src/gray_params.f90: handle file not found error
2021-12-15 02:30:53 +01:00
Michele Guerini Rocco
023facac6b
src/gray_params.f90: formatting
2021-12-15 02:30:52 +01:00
Michele Guerini Rocco
75c30ee834
move manual into a doc subdirectory
2021-12-15 02:30:51 +01:00
Michele Guerini Rocco
cb873fbcf6
src/multipass.f90: fix file mode
2021-12-15 02:30:50 +01:00
Michele Guerini Rocco
f58a8ba308
add Nix package
2021-12-15 02:30:49 +01:00
Michele Guerini Rocco
1a7db631de
actually use the configure script
2021-12-15 02:30:48 +01:00
Michele Guerini Rocco
8dfb214ea0
scripts: make shebangs more portable
...
Use env to find the interpreter instead of a hard-coded path.
2021-12-15 02:30:47 +01:00
Michele Guerini Rocco
f16471aad4
configure: fix several shellcheck warnings
2021-12-15 02:30:45 +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
3a9fb6539f
Small changes in configure log messages
2021-11-19 12:56:31 +00:00
ecadacc2c1
more descriptive title in man page
2020-03-06 10:50:24 +00:00
81e1190bf8
added templates for analytical equilibrium/profiles input files
2020-03-06 10:49:23 +00:00
4bb3841049
Modified test in density extrapolation at boundary
2020-03-06 10:48:12 +00:00
6892646623
updated makefile, added manpage, fixed few print statements
2019-12-09 14:49:37 +00:00
Daniele Micheletti
7609640347
trunk/graycore: fix to coupling calculation for on-screen print
2019-03-28 11:33:43 +00:00
Daniele Micheletti
f600108884
trunk/graycore: minor fixes
2019-03-28 09:50:28 +00:00