Skip to content

Commit

Permalink
(increase version minor) Merge pull request #258 from Magritte-code/f…
Browse files Browse the repository at this point in the history
…ix_uv_feautrier

Fix uv feautrier
  • Loading branch information
ThomasCeulemans authored Jun 11, 2024
2 parents b203049 + c3f56f7 commit 2f6231b
Show file tree
Hide file tree
Showing 8 changed files with 468 additions and 252 deletions.
9 changes: 3 additions & 6 deletions src/bindings/pybindings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -192,12 +192,9 @@ PYBIND11_MODULE(core, module) {
"Feautrier solver.")
/// Solver is bugged, so removed from the api, as the shortchar solver can
/// replace it
// .def (
// "compute_radiation_field_feautrier_order_2_uv",
// &Model::compute_radiation_field_feautrier_order_2_uv,
// "Compute the radiation field for the modle using the 2nd-order
// Feautrier solver."
// )
.def("compute_radiation_field_feautrier_order_2_uv",
&Model::compute_radiation_field_feautrier_order_2_uv,
"Compute the radiation field for the modle using the 2nd-order Feautrier solver.")
.def("compute_radiation_field_feautrier_order_2_anis",
&Model::compute_radiation_field_feautrier_order_2_anis,
"Compute the radiation field for the modle using the 2nd-order "
Expand Down
41 changes: 19 additions & 22 deletions src/model/model.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -355,28 +355,25 @@ int Model ::compute_radiation_field_feautrier_order_2() {
/// BUGGED: v computation is incorrect
// /// Computer for the radiation field
// /////////////////////////////////////
// int Model :: compute_radiation_field_feautrier_order_2_uv ()
// {
// cout << "Computing radiation field..." << endl;
//
// Solver solver;
// solver.setup <CoMoving> (*this);
//
// if (parameters->one_line_approximation)
// {
// solver.solve_feautrier_order_2_uv <OneLine> (*this);
// return (0);
// }
//
// if (parameters->sum_opacity_emissivity_over_all_lines)
// {
// solver.solve_feautrier_order_2_uv <None> (*this);
// return (0);
// }
//
// solver.solve_feautrier_order_2_uv <CloseLines> (*this);
// return (0);
// }
int Model ::compute_radiation_field_feautrier_order_2_uv() {
cout << "Computing radiation field..." << endl;

Solver solver;
solver.setup<CoMoving>(*this);

if (parameters->one_line_approximation) {
solver.solve_feautrier_order_2_uv<OneLine>(*this);
return (0);
}

if (parameters->sum_opacity_emissivity_over_all_lines) {
solver.solve_feautrier_order_2_uv<None>(*this);
return (0);
}

solver.solve_feautrier_order_2_uv<CloseLines>(*this);
return (0);
}

/// Computer for the radiation field
/////////////////////////////////////
Expand Down
2 changes: 1 addition & 1 deletion src/model/model.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ struct Model {

int compute_image_for_point(const Size ray_nr, const Size p);

// int compute_radiation_field_feautrier_order_2_uv ();
int compute_radiation_field_feautrier_order_2_uv();
int compute_radiation_field_feautrier_order_2_anis();
int compute_radiation_field_feautrier_order_2_sparse();

Expand Down
11 changes: 4 additions & 7 deletions src/solver/solver.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -187,13 +187,10 @@ struct Solver {
accel inline void solve_shortchar_order_0(Model& model, const Size o, const Size r);

/// BUGGED: v computation is incorrect
// template <ApproximationType approx>
// accel inline void solve_feautrier_order_2_uv (Model&
// model);
//
// template <ApproximationType approx>
// accel inline void solve_feautrier_order_2_uv (Model&
// model, const Size o, const Size f);
template <ApproximationType approx> accel inline void solve_feautrier_order_2_uv(Model& model);

template <ApproximationType approx>
accel inline void solve_feautrier_order_2_uv(Model& model, const Size o, const Size f);

// Getters for emissivities, opacities, and boundary
// conditions
Expand Down
Loading

0 comments on commit 2f6231b

Please sign in to comment.