CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8)
-FIND_PACKAGE(deal.II 8.4 QUIET
+FIND_PACKAGE(deal.II 9.1 QUIET
HINTS ${deal.II_DIR} ${DEAL_II_DIR} ../ ../../ $ENV{DEAL_II_DIR}
)
IF(NOT ${deal.II_FOUND})
#include <deal.II/base/quadrature_lib.h>
#include <deal.II/base/function.h>
+#include <deal.II/lac/affine_constraints.h>
#include <deal.II/lac/vector.h>
#include <deal.II/lac/full_matrix.h>
#include <deal.II/lac/solver_cg.h>
-#include <deal.II/lac/constraint_matrix.h>
#include <deal.II/lac/petsc_parallel_sparse_matrix.h>
#include <deal.II/lac/petsc_sparse_matrix.h>
#include <deal.II/lac/petsc_parallel_vector.h>
///////////////
void get_sparsity_pattern();
void get_map_from_Q1_to_Q2();
- void solve(const ConstraintMatrix &constraints,
+ void solve(const AffineConstraints<double> &constraints,
PETScWrappers::MPI::SparseMatrix &Matrix,
std::shared_ptr<PETScWrappers::PreconditionBoomerAMG> preconditioner,
PETScWrappers::MPI::Vector &completely_distributed_solution,
PETScWrappers::MPI::Vector inverse_ML_vector;
// CONSTRAINTS
- ConstraintMatrix constraints;
+ AffineConstraints<double> constraints;
// TIME STEPPING
double time_step;
}
template <int dim>
-void LevelSetSolver<dim>::solve(const ConstraintMatrix &constraints,
+void LevelSetSolver<dim>::solve(const AffineConstraints<double> &constraints,
PETScWrappers::MPI::SparseMatrix &Matrix,
std::shared_ptr<PETScWrappers::PreconditionBoomerAMG> preconditioner,
PETScWrappers::MPI::Vector &completely_distributed_solution,
#include <deal.II/base/quadrature_lib.h>
#include <deal.II/base/function.h>
+#include <deal.II/lac/affine_constraints.h>
#include <deal.II/lac/vector.h>
#include <deal.II/lac/full_matrix.h>
#include <deal.II/lac/solver_cg.h>
-#include <deal.II/lac/constraint_matrix.h>
#include <deal.II/lac/petsc_parallel_sparse_matrix.h>
#include <deal.II/lac/petsc_parallel_vector.h>
#include <deal.II/lac/petsc_solver.h>
std::vector<double> boundary_values_v;
std::vector<double> boundary_values_phi;
- ConstraintMatrix constraints;
+ AffineConstraints<double> constraints;
double time;
double time_step;
#include <deal.II/base/quadrature_lib.h>
#include <deal.II/base/function.h>
+#include <deal.II/lac/affine_constraints.h>
#include <deal.II/lac/vector.h>
#include <deal.II/lac/full_matrix.h>
#include <deal.II/lac/solver_cg.h>
-#include <deal.II/lac/constraint_matrix.h>
#include <deal.II/lac/petsc_parallel_sparse_matrix.h>
#include <deal.II/lac/petsc_parallel_vector.h>
#include <deal.II/lac/petsc_solver.h>
void assemble_system_U();
void assemble_system_dpsi_q();
// SOLVERS //
- void solve_U(const ConstraintMatrix &constraints, PETScWrappers::MPI::SparseMatrix &Matrix,
+ void solve_U(const AffineConstraints<double> &constraints, PETScWrappers::MPI::SparseMatrix &Matrix,
std::shared_ptr<PETScWrappers::PreconditionBoomerAMG> preconditioner,
PETScWrappers::MPI::Vector &completely_distributed_solution,
const PETScWrappers::MPI::Vector &rhs);
- void solve_P(const ConstraintMatrix &constraints, PETScWrappers::MPI::SparseMatrix &Matrix,
+ void solve_P(const AffineConstraints<double> &constraints, PETScWrappers::MPI::SparseMatrix &Matrix,
std::shared_ptr<PETScWrappers::PreconditionBoomerAMG> preconditioner,
PETScWrappers::MPI::Vector &completely_distributed_solution,
const PETScWrappers::MPI::Vector &rhs);
int degree_MAX;
- ConstraintMatrix constraints;
- ConstraintMatrix constraints_psi;
+ AffineConstraints<double> constraints;
+ AffineConstraints<double> constraints_psi;
std::vector<types::global_dof_index> boundary_values_id_u;
std::vector<types::global_dof_index> boundary_values_id_v;
/////////////////////// SOLVERS ///////////////////////
///////////////////////////////////////////////////////
template<int dim>
-void NavierStokesSolver<dim>::solve_U(const ConstraintMatrix &constraints,
+void NavierStokesSolver<dim>::solve_U(const AffineConstraints<double> &constraints,
PETScWrappers::MPI::SparseMatrix &Matrix,
std::shared_ptr<PETScWrappers::PreconditionBoomerAMG> preconditioner,
PETScWrappers::MPI::Vector &completely_distributed_solution,
}
template<int dim>
-void NavierStokesSolver<dim>::solve_P(const ConstraintMatrix &constraints,
+void NavierStokesSolver<dim>::solve_P(const AffineConstraints<double> &constraints,
PETScWrappers::MPI::SparseMatrix &Matrix,
std::shared_ptr<PETScWrappers::PreconditionBoomerAMG> preconditioner,
PETScWrappers::MPI::Vector &completely_distributed_solution,
#include <deal.II/base/quadrature_lib.h>
#include <deal.II/base/function.h>
+#include <deal.II/lac/affine_constraints.h>
#include <deal.II/lac/vector.h>
#include <deal.II/lac/full_matrix.h>
#include <deal.II/lac/solver_cg.h>
-#include <deal.II/lac/constraint_matrix.h>
-#include <deal.II/lac/compressed_simple_sparsity_pattern.h>
#include <deal.II/lac/petsc_parallel_sparse_matrix.h>
#include <deal.II/lac/petsc_parallel_vector.h>
#include <deal.II/lac/petsc_solver.h>
IndexSet locally_owned_dofs_U_disp_field;
IndexSet locally_relevant_dofs_U_disp_field;
- ConstraintMatrix constraints;
- ConstraintMatrix constraints_disp_field;
+ AffineConstraints<double> constraints;
+ AffineConstraints<double> constraints_disp_field;
double time;
double time_step;
#include <deal.II/base/quadrature_lib.h>
#include <deal.II/base/function.h>
+#include <deal.II/lac/affine_constraints.h>
#include <deal.II/lac/vector.h>
#include <deal.II/lac/full_matrix.h>
#include <deal.II/lac/solver_cg.h>
-#include <deal.II/lac/constraint_matrix.h>
-#include <deal.II/lac/compressed_simple_sparsity_pattern.h>
#include <deal.II/lac/petsc_parallel_sparse_matrix.h>
#include <deal.II/lac/petsc_parallel_vector.h>
#include <deal.II/lac/petsc_solver.h>
IndexSet locally_owned_dofs_P;
IndexSet locally_relevant_dofs_P;
- ConstraintMatrix constraints;
+ AffineConstraints<double> constraints;
//TimerOutput timer;
};
template <int dim>
-double BoundaryPhi<dim>::value (const Point<dim> &p, const unsigned int) const
+double BoundaryPhi<dim>::value (const Point<dim> &, const unsigned int) const
{
return -1.0;
}
};
template <int dim>
-double ExactW<dim>::value (const Point<dim> &p, const unsigned int) const
+double ExactW<dim>::value (const Point<dim> &, const unsigned int) const
{
// PROBLEM = 3D_DIAGONAL_ADVECTION
return 1.0;
{
public:
RhoFunction (double t=0) : Function<dim>() {this->set_time(t);}
- virtual double value (const Point<dim> &p, const unsigned int component=0) const;
+ virtual double value (const Point<dim> &p, const unsigned int component=0) const;
};
template <int dim>
double RhoFunction<dim>::value (const Point<dim> &p,
virtual double value (const Point<dim> &p, const unsigned int component=0) const;
};
template <int dim>
-double NuFunction<dim>::value (const Point<dim> &p, const unsigned int) const
+double NuFunction<dim>::value (const Point<dim> &, const unsigned int) const
{
return 1.;
}