Commit Graph

16 Commits

Author SHA1 Message Date
Michele Guerini Rocco
73bd010458
remove unnecessary implicit statements
Only a single `implicit none` at the start of each module is required.
2024-02-09 11:16:18 +01:00
621c725948 Fix unsafe use of merge and missing igrad override 2023-10-20 15:19:56 +02:00
Michele Guerini Rocco
8bc5ac0064
always use generic math functions
This replaces double precision-specific function in order to allow
building GRAY with other real kinds, for example single or quadruple
precision.
2023-09-21 14:21:24 +02:00
Michele Guerini Rocco
9bcad028b1
improve error handling in the gray_main routine
- rename errocodes → gray_errors

- restructure the errors into a `error_spec` type

- make the list of errors easily extensible

- rewrite the `print_errn`, `print_errhcd` (now `print_err_raytracing`,
  `print_err_ecrh_cd`) subroutine to handle arbitrary errors

- add functions to easily manipulate errors
  (`raise_error`, `has_error`, `is_critical`)

- remove print statements from quadpack

- log all errors to stderr using the logger module
2023-05-11 17:47:13 +02:00
Michele Guerini Rocco
0a63a20e73
src/dispersion.f90: cleanup
- merge branch with a method to control the speed of iteration and
  improve the convergence of `warmdisp` (thanks Thomas)

- unify `diel_tens_fr` and `diel_tens_wr` into a single subroutine,
  `dielectric_tensor`

- stay as close as possible to the notation of Daniela Farina's paper

- make `sox` an integer

- mark more subroutines as pure

- add more comments
2023-04-12 23:45:49 +02:00
Michele Guerini Rocco
0cf1ab2e8d
src/dispersion.f90: mark colddisp a pure function 2022-05-19 19:00:54 +02:00
Michele Guerini Rocco
3cee84690c
src/dispersion.f90: mark zetac as pure 2022-05-11 01:15:08 +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
d18e05353a
src: remove unused parameters 2022-05-11 01:15:02 +02:00
Daniele Micheletti
5b44c46e70 trunk/dispersion: added npra2 re-initialization if convergence fails 2017-06-21 09:16:10 +00:00
Daniele Micheletti
feaa736c0e fixed e330 calculation in dispersion module (trunk) 2016-06-09 07:41:23 +00:00
88740ab232 Fixed computation of warm Nperp for low density 2016-01-25 11:37:17 +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