nufi working but slow, need to save field from previous time step and/or parallel loop to solve eval_rho

This commit is contained in:
Vasco C. B. Ferreira
2026-03-08 17:05:18 +01:00
parent 51df7cc78a
commit bf7ad1e595
2 changed files with 15 additions and 5 deletions
+8 -1
View File
@@ -108,6 +108,8 @@ PoissonProblem<dim>::PoissonProblem(unsigned int degree, unsigned int Nv)
template<int dim>
void PoissonProblem<dim>::create_mesh()
{
std::cout << "Creating Mesh\n";
GridGenerator::hyper_cube(triangulation,
Parameters::X_DOMAIN_LEFT,
Parameters::X_DOMAIN_RIGHT);
@@ -132,6 +134,8 @@ void PoissonProblem<dim>::create_mesh()
template <int dim>
void PoissonProblem<dim>::setup_system()
{
std::cout << "Setting up Poisson system\n";
dof_handler.distribute_dofs(fe);
constraints.clear();
@@ -184,6 +188,7 @@ public:
template <int dim>
void PoissonProblem<dim>::assemble_system()
{
std::cout << "Assembling Poisson System\n";
QGauss<dim> quadrature_formula(fe.degree + 1);
FEValues<dim> fe_values(fe, quadrature_formula,
update_values |
@@ -238,6 +243,8 @@ void PoissonProblem<dim>::assemble_system()
template <int dim>
void PoissonProblem<dim>::solve()
{
std::cout << "Calling PoissonProblem::solve()\n";
SolverControl solver_control(1000, 1e-12);
SolverCG<Vector<double>> solver(solver_control);
@@ -313,7 +320,7 @@ void PoissonProblem<dim>::solve_step()
{
system_matrix = 0;
system_rhs = 0;
std::cout << "Calling PoissonProblem::solve_step()\n";
assemble_system();
solve();
}