Skip to content

Commit

Permalink
Starting the Gauss Legendre table
Browse files Browse the repository at this point in the history
  • Loading branch information
Goul-tard committed Dec 23, 2024
1 parent 0592771 commit d2e5234
Show file tree
Hide file tree
Showing 3 changed files with 646 additions and 34 deletions.
341 changes: 310 additions & 31 deletions src/demeter/quadrature/gauss_legendre.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,65 +14,344 @@

namespace Demeter {

//// nteta = 2
//template <>
//Eigen::ArrayXd GaussLegendre<2>::weights_(1);
//template <>
//Eigen::ArrayXd GaussLegendre<2>::costeta_(1);
//template <>
//Eigen::ArrayXd GaussLegendre<2>::teta_(1);
//template <>
//void GaussLegendre<2>::initialization() {
// weights_ << 2.00000;
// costeta_ << 0.57735;
// teta_ << 0.00000;
//}
//
//// nteta = 4
//template <>
//Eigen::ArrayXd GaussLegendre<4>::weights_(2);
//template <>
//Eigen::ArrayXd GaussLegendre<4>::costeta_(2);
//template <>
//Eigen::ArrayXd GaussLegendre<4>::teta_(1);
//template <>
//void GaussLegendre<2>::initialization() {
// weights_ << 0.652145, 0.347855;
// costeta_ << 0.339981, 0.861136;
// teta_ << 0.000000, 0.000000;
//}

// nteta = 2
template <>
Eigen::ArrayXd GaussLegendre<2>::weights_(1);
Eigen::ArrayXd GaussLegendre<2>::weights_(1);
template <>
Eigen::ArrayXd GaussLegendre<2>::costeta_(1);
Eigen::ArrayXd GaussLegendre<2>::costeta_(1);
template <>
Eigen::ArrayXd GaussLegendre<2>::teta_(1);
Eigen::ArrayXd GaussLegendre<2>::teta_(1);
template <>
void GaussLegendre<2>::initialization() {
weights_ << 2.00000;
weights_ << 0.00000;
costeta_ << 0.00000;
teta_ << 0.00000;
teta_ << 0.00000;
}
// nteta = 4
template <>
Eigen::ArrayXd GaussLegendre<4>::weights_(2);
template <>
Eigen::ArrayXd GaussLegendre<4>::costeta_(2);
template <>
Eigen::ArrayXd GaussLegendre<4>::teta_(2);
template <>
void GaussLegendre<4>::initialization() {
weights_ << 0.00000;
costeta_ << 0.00000;
teta_ << 0.00000;
}

// nteta = 1
//ArrayXd costeta(1);
//ArrayXd weights(1);

// costeta << 0.00000;
// weights << 2.00000;

//// nteta = 2
// ArrayXd costeta(2);
// ArrayXd weights(2);
//
// costeta << -0.57735, 0.57735;
// weights << 1.00000, 1.00000;
//
//// nteta = 4
// ArrayXd costeta(3);
// ArrayXd weights(3);
//
// costeta << -0.339981, 0.339981,
// -0.861136, 0.861136;
// weights << 0.652145, 0.652145,
// 0.347855, 0.347855;


// nteta = 6
template <>
Eigen::ArrayXd GaussLegendre<6>::weights_(3);
template <>
Eigen::ArrayXd GaussLegendre<6>::costeta_(3);
template <>
Eigen::ArrayXd GaussLegendre<6>::teta_(3);
template <>
void GaussLegendre<6>::initialization() {
weights_ << 0.00000;
costeta_ << 0.00000;
teta_ << 0.00000;
}
// nteta = 8
template <>
Eigen::ArrayXd GaussLegendre<8>::weights_(4);
template <>
Eigen::ArrayXd GaussLegendre<8>::costeta_(4);
template <>
Eigen::ArrayXd GaussLegendre<8>::teta_(4);
template <>
void GaussLegendre<8>::initialization() {
weights_ << 0.00000;
costeta_ << 0.00000;
teta_ << 0.00000;
}
// nteta = 10
template <>
Eigen::ArrayXd GaussLegendre<10>::weights_(5);
template <>
Eigen::ArrayXd GaussLegendre<10>::costeta_(5);
template <>
Eigen::ArrayXd GaussLegendre<10>::teta_(5);
template <>
void GaussLegendre<10>::initialization() {
weights_ << 0.00000;
costeta_ << 0.00000;
teta_ << 0.00000;
}
// nteta = 12
template <>
Eigen::ArrayXd GaussLegendre<12>::weights_(6);
template <>
Eigen::ArrayXd GaussLegendre<12>::costeta_(6);
template <>
Eigen::ArrayXd GaussLegendre<12>::teta_(6);
template <>
void GaussLegendre<12>::initialization() {
weights_ << 0.00000;
costeta_ << 0.00000;
teta_ << 0.00000;
}
// nteta = 14
template <>
Eigen::ArrayXd GaussLegendre<14>::weights_(7);
template <>
Eigen::ArrayXd GaussLegendre<14>::costeta_(7);
template <>
Eigen::ArrayXd GaussLegendre<14>::teta_(7);
template <>
void GaussLegendre<14>::initialization() {
weights_ << 0.00000;
costeta_ << 0.00000;
teta_ << 0.00000;
}
// nteta = 16
template <>
Eigen::ArrayXd GaussLegendre<16>::weights_(8);
template <>
Eigen::ArrayXd GaussLegendre<16>::costeta_(8);
template <>
Eigen::ArrayXd GaussLegendre<16>::teta_(8);
template <>
void GaussLegendre<16>::initialization() {
weights_ << 0.00000;
costeta_ << 0.00000;
teta_ << 0.00000;
}
// nteta = 18
template <>
Eigen::ArrayXd GaussLegendre<18>::weights_(9);
template <>
Eigen::ArrayXd GaussLegendre<18>::costeta_(9);
template <>
Eigen::ArrayXd GaussLegendre<18>::teta_(9);
template <>
void GaussLegendre<18>::initialization() {
weights_ << 0.00000;
costeta_ << 0.00000;
teta_ << 0.00000;
}
// nteta = 20
template <>
Eigen::ArrayXd GaussLegendre<20>::weights_(10);
template <>
Eigen::ArrayXd GaussLegendre<20>::costeta_(10);
template <>
Eigen::ArrayXd GaussLegendre<20>::teta_(10);
template <>
void GaussLegendre<20>::initialization() {
weights_ << 0.00000;
costeta_ << 0.00000;
teta_ << 0.00000;
}
// nteta = 22
template <>
Eigen::ArrayXd GaussLegendre<22>::weights_(11);
template <>
Eigen::ArrayXd GaussLegendre<22>::costeta_(11);
template <>
Eigen::ArrayXd GaussLegendre<22>::teta_(11);
template <>
void GaussLegendre<22>::initialization() {
weights_ << 0.00000;
costeta_ << 0.00000;
teta_ << 0.00000;
}
// nteta = 24
template <>
Eigen::ArrayXd GaussLegendre<24>::weights_(12);
template <>
Eigen::ArrayXd GaussLegendre<24>::costeta_(12);
template <>
Eigen::ArrayXd GaussLegendre<24>::teta_(12);
template <>
void GaussLegendre<24>::initialization() {
weights_ << 0.00000;
costeta_ << 0.00000;
teta_ << 0.00000;
}
// nteta = 26
template <>
Eigen::ArrayXd GaussLegendre<26>::weights_(13);
template <>
Eigen::ArrayXd GaussLegendre<26>::costeta_(13);
template <>
Eigen::ArrayXd GaussLegendre<26>::teta_(13);
template <>
void GaussLegendre<26>::initialization() {
weights_ << 0.00000;
costeta_ << 0.00000;
teta_ << 0.00000;
}
// nteta = 28
template <>
Eigen::ArrayXd GaussLegendre<28>::weights_(14);
template <>
Eigen::ArrayXd GaussLegendre<28>::costeta_(14);
template <>
Eigen::ArrayXd GaussLegendre<28>::teta_(14);
template <>
void GaussLegendre<28>::initialization() {
weights_ << 0.00000;
costeta_ << 0.00000;
teta_ << 0.00000;
}
// nteta = 30
template <>
Eigen::ArrayXd GaussLegendre<30>::weights_(15);
template <>
Eigen::ArrayXd GaussLegendre<30>::costeta_(15);
template <>
Eigen::ArrayXd GaussLegendre<30>::teta_(15);
template <>
void GaussLegendre<30>::initialization() {
weights_ << 0.00000;
costeta_ << 0.00000;
teta_ << 0.00000;
}
// nteta = 32
template <>
Eigen::ArrayXd GaussLegendre<32>::weights_(16);
template <>
Eigen::ArrayXd GaussLegendre<32>::costeta_(16);
template <>
Eigen::ArrayXd GaussLegendre<32>::teta_(16);
template <>
void GaussLegendre<32>::initialization() {
weights_ << 0.00000;
costeta_ << 0.00000;
teta_ << 0.00000;
}
// nteta = 34
template <>
Eigen::ArrayXd GaussLegendre<34>::weights_(17);
template <>
Eigen::ArrayXd GaussLegendre<34>::costeta_(17);
template <>
Eigen::ArrayXd GaussLegendre<34>::teta_(17);
template <>
void GaussLegendre<34>::initialization() {
weights_ << 0.00000;
costeta_ << 0.00000;
teta_ << 0.00000;
}
// nteta = 36
template <>
Eigen::ArrayXd GaussLegendre<36>::weights_(18);
template <>
Eigen::ArrayXd GaussLegendre<36>::costeta_(18);
template <>
Eigen::ArrayXd GaussLegendre<36>::teta_(18);
template <>
void GaussLegendre<36>::initialization() {
weights_ << 0.00000;
costeta_ << 0.00000;
teta_ << 0.00000;
}
// nteta = 38
template <>
Eigen::ArrayXd GaussLegendre<38>::weights_(19);
template <>
Eigen::ArrayXd GaussLegendre<38>::costeta_(19);
template <>
Eigen::ArrayXd GaussLegendre<38>::teta_(19);
template <>
void GaussLegendre<38>::initialization() {
weights_ << 0.00000;
costeta_ << 0.00000;
teta_ << 0.00000;
}
// nteta = 40
template <>
Eigen::ArrayXd GaussLegendre<40>::weights_(20);
template <>
Eigen::ArrayXd GaussLegendre<40>::costeta_(20);
template <>
Eigen::ArrayXd GaussLegendre<40>::teta_(20);
template <>
void GaussLegendre<40>::initialization() {
weights_ << 0.00000;
costeta_ << 0.00000;
teta_ << 0.00000;
}
// nteta = 42
template <>
Eigen::ArrayXd GaussLegendre<42>::weights_(21);
template <>
Eigen::ArrayXd GaussLegendre<42>::costeta_(21);
template <>
Eigen::ArrayXd GaussLegendre<42>::teta_(21);
template <>
void GaussLegendre<42>::initialization() {
weights_ << 0.00000;
costeta_ << 0.00000;
teta_ << 0.00000;
}
// nteta = 44
template <>
Eigen::ArrayXd GaussLegendre<44>::weights_(22);
template <>
Eigen::ArrayXd GaussLegendre<44>::costeta_(22);
template <>
Eigen::ArrayXd GaussLegendre<44>::teta_(22);
template <>
void GaussLegendre<44>::initialization() {
weights_ << 0.00000;
costeta_ << 0.00000;
teta_ << 0.00000;
}
// nteta = 46
template <>
Eigen::ArrayXd GaussLegendre<46>::weights_(23);
template <>
Eigen::ArrayXd GaussLegendre<46>::costeta_(23);
template <>
Eigen::ArrayXd GaussLegendre<46>::teta_(23);
template <>
void GaussLegendre<46>::initialization() {
weights_ << 0.00000;
costeta_ << 0.00000;
teta_ << 0.00000;
}
// nteta = 48

template <>
Eigen::ArrayXd GaussLegendre<48>::weights_(24);
template <>
Eigen::ArrayXd GaussLegendre<48>::costeta_(24);
template <>
Eigen::ArrayXd GaussLegendre<48>::teta_(24);
template <>
void GaussLegendre<48>::initialization() {
weights_ << 0.00000;
costeta_ << 0.00000;
teta_ << 0.00000;
}
} // namespace Demeter
Loading

0 comments on commit d2e5234

Please sign in to comment.