1 /* 2 * This source code is part of 3 * 4 * HelFEM 5 * - 6 * Finite element methods for electronic structure calculations on small systems 7 * 8 * Written by Susi Lehtola, 2018- 9 * Copyright (c) 2018- Susi Lehtola 10 * 11 * This program is free software; you can redistribute it and/or 12 * modify it under the terms of the GNU General Public License 13 * as published by the Free Software Foundation; either version 2 14 * of the License, or (at your option) any later version. 15 */ 16 #ifndef ANGULAR_H 17 #define ANGULAR_H 18 19 #include <armadillo> 20 21 namespace helfem { 22 namespace angular { 23 /// Form compound rule 24 void compound_rule(const arma::vec & xth0, const arma::vec & wth0, int nphi, arma::vec & th, arma::vec & phi, arma::vec & w); 25 26 /// Angular quadrature rule of order (l,l) 27 void angular_lobatto(int l, arma::vec & cth, arma::vec & phi, arma::vec & w); 28 /// Angular quadrature rule of order (l,m) 29 void angular_lobatto(int l, int m, arma::vec & cth, arma::vec & phi, arma::vec & w); 30 31 /// Angular quadrature rule of order (l,l) 32 void angular_chebyshev(int l, arma::vec & cth, arma::vec & phi, arma::vec & w); 33 /// Angular quadrature rule of order (l,m) 34 void angular_chebyshev(int l, int m, arma::vec & cth, arma::vec & phi, arma::vec & w); 35 } 36 } 37 38 #endif 39