mirror of
https://codeberg.org/vcbferreira/NuFI_deal.ii
synced 2026-08-12 22:43:17 +02:00
splines made but need to be checked, solver seems to make wrong results
This commit is contained in:
+6
-7
@@ -33,7 +33,9 @@
|
||||
#include <deal.II/numerics/vector_tools.h>
|
||||
#include <deal.II/numerics/fe_field_function.h>
|
||||
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
#include "parameters.hpp"
|
||||
@@ -53,7 +55,7 @@ public:
|
||||
void solve_step();
|
||||
void run();
|
||||
|
||||
void set_rhs_function(const Function<dim> &rhs);
|
||||
void set_rhs_function(std::unique_ptr<Function<dim>> rhs_function);
|
||||
|
||||
const Vector<double> &get_solution() const { return solution; }
|
||||
const DoFHandler<dim> &get_dof_handler() const { return dof_handler; }
|
||||
@@ -83,7 +85,7 @@ private:
|
||||
Vector<double> solution; // phi
|
||||
Vector<double> system_rhs;
|
||||
|
||||
const Function<dim> *rhs_function;
|
||||
std::unique_ptr<const Function<dim>> rhs_function;
|
||||
|
||||
MappingQ<dim> mapping;
|
||||
};
|
||||
@@ -91,9 +93,9 @@ private:
|
||||
// Utilities
|
||||
|
||||
template <int dim>
|
||||
void PoissonProblem<dim>::set_rhs_function(const Function<dim> &rhs)
|
||||
void PoissonProblem<dim>::set_rhs_function(std::unique_ptr<Function<dim>> rhs)
|
||||
{
|
||||
rhs_function = &rhs;
|
||||
rhs_function = std::move(rhs);
|
||||
}
|
||||
|
||||
template <int dim>
|
||||
@@ -214,9 +216,6 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
// =-=-=-=-= Poisson equation solver =-=-=-=-=
|
||||
|
||||
template <int dim>
|
||||
void PoissonProblem<dim>::assemble_system()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user