ARTS  2.4.0(git:4fb77825)
wigner_functions.h
Go to the documentation of this file.
1 /* Copyright (C) 2012
2  * Richard Larsson <ric.larsson@gmail.com>
3  *
4  * This program is free software; you can redistribute it and/or modify it
5  * under the terms of the GNU General Public License as published by the
6  * Free Software Foundation; either version 2, or (at your option) any
7  * later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
17  * USA. */
18 
27 #include <wigner/wigxjpf/inc/wigxjpf.h>
28 #include "rational.h"
29 
30 #ifdef FAST_WIGNER_PATH_3J
31 #define DO_FAST_WIGNER 1
32 #include <wigner/fastwigxj/inc/fastwigxj.h>
33 #else
34 #define DO_FAST_WIGNER 0
35 #endif
36 
57 Numeric wigner3j(const Rational j1,
58  const Rational j2,
59  const Rational j3,
60  const Rational m1,
61  const Rational m2,
62  const Rational m3);
63 
84 Numeric wigner6j(const Rational j1,
85  const Rational j2,
86  const Rational j3,
87  const Rational l1,
88  const Rational l2,
89  const Rational l3);
90 
123  int Ji, int Jf, int Ji_p, int Jf_p, int L, int li, int lf);
124 
125 
132 
174  int Nl, int Nk, int Jl, int Jk, int Jl_p, int Jk_p, int L);
175 
218  const Rational& Ji,
219  const Rational& Jf,
220  const Rational& Ni,
221  const Rational& Nf,
222  const Rational& Si,
223  const Rational& Sf,
224  const Rational& Ji_p,
225  const Rational& Jf_p,
226  const Rational& Ni_p,
227  const Rational& Nf_p,
228  const Rational& n,
229  const Numeric& T);
230 
241  const Rational& Jup,
242  const Rational& Jlo,
243  const Rational& N);
244 
252 Index make_wigner_ready(int largest, int fastest, int size);
253 
260 bool is_wigner_ready(int j);
261 
268 bool is_wigner3_ready(const Rational& J);
269 
276 bool is_wigner6_ready(const Rational& J);
make_wigner_ready
Index make_wigner_ready(int largest, int fastest, int size)
Ready Wigner.
rational.h
Contains the rational class definition.
co2_ecs_wigner_symbol
Numeric co2_ecs_wigner_symbol(int Ji, int Jf, int Ji_p, int Jf_p, int L, int li, int lf)
Returns the wigner symbol used in Niro etal 2004.
Definition: wigner_functions.cc:88
wigner3j
Numeric wigner3j(const Rational j1, const Rational j2, const Rational j3, const Rational m1, const Rational m2, const Rational m3)
Wigner 3J symbol.
Definition: wigner_functions.cc:40
Numeric
NUMERIC Numeric
The type to use for all floating point numbers.
Definition: matpack.h:33
is_wigner3_ready
bool is_wigner3_ready(const Rational &J)
Tells if the function is ready for Wigner 3J calculations.
Definition: wigner_functions.cc:319
N
#define N
Definition: rng.cc:164
wigner6j
Numeric wigner6j(const Rational j1, const Rational j2, const Rational j3, const Rational l1, const Rational l2, const Rational l3)
Wigner 6J symbol.
Definition: wigner_functions.cc:65
is_wigner_ready
bool is_wigner_ready(int j)
Tells if the function can deal with the input integer.
Definition: wigner_functions.cc:313
is_wigner6_ready
bool is_wigner6_ready(const Rational &J)
Tells if the function is ready for Wigner 6J calculations.
Definition: wigner_functions.cc:325
o2_ecs_wigner_symbol
Numeric o2_ecs_wigner_symbol(int Nl, int Nk, int Jl, int Jk, int Jl_p, int Jk_p, int L)
Returns the wigner symbol used in Makarov etal 2013.
Definition: wigner_functions.cc:94
o2_ecs_erot_jn_same
Numeric o2_ecs_erot_jn_same(Rational J)
Energy of the J=N line at J.
Definition: wigner_functions.cc:159
Index
INDEX Index
The type to use for all integer numbers and indices.
Definition: matpack.h:39
o2_ecs_wigner_symbol_tran
Numeric o2_ecs_wigner_symbol_tran(const Rational &Ji, const Rational &Jf, const Rational &Ni, const Rational &Nf, const Rational &Si, const Rational &Sf, const Rational &Ji_p, const Rational &Jf_p, const Rational &Ni_p, const Rational &Nf_p, const Rational &n, const Numeric &T)
Returns the wigner symbol used in Tran etal 2006.
Definition: wigner_functions.cc:218
o2_makarov2013_reduced_dipole
Numeric o2_makarov2013_reduced_dipole(const Rational &Jup, const Rational &Jlo, const Rational &N)
Returns the reduced dipole moment following Makarov etal 2013.
Definition: wigner_functions.cc:267
Rational
Implements rational numbers to work with other ARTS types.
Definition: rational.h:54