Commit Graph

103 Commits

Author SHA1 Message Date
d3a87e1044
Close open units on exit to flush the buffer 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
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
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
861a723ebc
src/equilibrium.f90: fix mixed tab/spaces 2022-05-11 01:14:59 +02: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
cb873fbcf6
src/multipass.f90: fix file mode 2021-12-15 02:30:50 +01: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
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
Daniele Micheletti
2c46d3327e trunk/beams: fix to alpha0 value if outside table range in read_beam1 2018-09-26 12:58:54 +00:00
9fcc54804f added re-normalization of Pins and Currins in spec subroutine 2017-09-19 16:32:53 +00:00
d8fc72dd3e re-added routines to sum profiles (removed by mistake in rev 176) 2017-09-13 09:31:30 +00:00
0b3ea8991e added further output prints to fort.4 2017-09-12 19:37:06 +00:00
d92335c476 added routines to sum profiles from multiple runs 2017-06-27 14:30:07 +00:00
Daniele Micheletti
5b44c46e70 trunk/dispersion: added npra2 re-initialization if convergence fails 2017-06-21 09:16:10 +00:00
4f0cc7fb47 fixed wrong psi assignment if input profiles are given vs rhot. Added comment for ieccd flag in gray_params.data 2017-02-10 14:14:53 +00:00
526870458f fixed rhot print in central ray output (fort.4) 2017-02-10 10:41:24 +00:00
Daniela Farina
e2fac977ab fixed check for N// > 1 (bis) 2017-02-01 11:32:27 +00:00
Daniela Farina
72b682229c fixed check for N// > 1 2017-02-01 11:06:09 +00:00
4a2b5fc638 added missing allocation for simple limiter (when it is not read from eqdsk) 2016-12-19 16:38:07 +00:00
0f2ff9a5a7 fix: missing allocation for profiles given vs rhot 2016-11-29 08:45:18 +00:00
Daniele Micheletti
feaa736c0e fixed e330 calculation in dispersion module (trunk) 2016-06-09 07:41:23 +00:00
Daniele Micheletti
bede98b0ae fixed incompatibilities with allocatable arrays (pgf90 compiler, JETTO); fixed input/output scaling (gray/jetto interface); fixed error in read_beams2 for small beam tables 2016-06-01 13:49:35 +00:00
d7b09b92a2 added file headers with input parameters 2016-04-27 14:37:57 +00:00
a5199b1b24 some additional output prints (2D maps and Bcart, Ncart along central ray) 2016-02-12 16:49:00 +00:00
Daniele Micheletti
33f9dd6130 fixed bug in read_beams2 to correctly locate the position of a point outside the beam grid 2016-02-09 11:18:47 +00:00
88740ab232 Fixed computation of warm Nperp for low density 2016-01-25 11:37:17 +00:00
7654679ae1 fixed error code for bad warm Nperp 2015-12-04 15:47:05 +00:00
1cd0503476 fixed compilation for JETTO 2015-11-25 15:53:22 +00:00