mirror of
https://codeberg.org/vcbferreira/NuFI_deal.ii
synced 2026-08-12 14:33:18 +02:00
Merge branch 'hot-fix_save-refine-time' into refinement_tree_locator
This commit is contained in:
@@ -56,6 +56,7 @@
|
||||
#include "nufi/cells.h"
|
||||
#include "nufi/grids.h"
|
||||
#include "nufi/parameters.h"
|
||||
#include "nufi/stopwatch.h"
|
||||
#include "omp.h"
|
||||
|
||||
void save_space_vector(const std::vector<double> &vals,
|
||||
@@ -70,7 +71,7 @@ public:
|
||||
PoissonProblem(unsigned int degree);
|
||||
|
||||
void initialize();
|
||||
void solve_step(size_t it, std::vector<GridStructure<1>> &grid_versions,
|
||||
double solve_step(size_t it, std::vector<GridStructure<1>> &grid_versions,
|
||||
bool refining = false);
|
||||
void coarse_and_refine_grid(size_t it);
|
||||
void setup_constraints(AffineConstraints<double> &constraints);
|
||||
@@ -492,16 +493,21 @@ template <int dim> void PoissonProblem<dim>::initialize() {
|
||||
}
|
||||
|
||||
template <int dim>
|
||||
void PoissonProblem<dim>::solve_step(
|
||||
double PoissonProblem<dim>::solve_step(
|
||||
size_t it, std::vector<GridStructure<1>> &grid_versions, bool refining) {
|
||||
double refining_time = 0.0;
|
||||
if (refining) {
|
||||
stopwatch<double> refining_timer;
|
||||
coarse_and_refine_grid(it);
|
||||
setup_system();
|
||||
update_grid_versions(grid_versions, *this);
|
||||
refining_time = refining_timer.elapsed();
|
||||
}
|
||||
assemble_system();
|
||||
solve(it);
|
||||
estimate_error();
|
||||
|
||||
return refining_time;
|
||||
}
|
||||
|
||||
// NuFI doesnt use this, kept only for testing PoissonProblem
|
||||
|
||||
+2
-2
@@ -286,8 +286,8 @@ void NuFISolver::run() {
|
||||
|
||||
if (it % Parameters::REFINE_FREQUENCY == 0) {
|
||||
// if (it == 0) {
|
||||
poisson.solve_step(it, grid_versions, true);
|
||||
compute_time = timer.elapsed() - compute_start;
|
||||
refine_time = poisson.solve_step(it, grid_versions, true);
|
||||
compute_time = timer.elapsed() - compute_start - refine_time;
|
||||
} else {
|
||||
poisson.solve_step(it, grid_versions, false);
|
||||
compute_time = timer.elapsed() - compute_start;
|
||||
|
||||
Reference in New Issue
Block a user