From cfa4bafd9051dd3be0187d3e89eac14fbaf0d2e9 Mon Sep 17 00:00:00 2001 From: Matthias Maier Date: Tue, 21 May 2019 15:06:26 -0500 Subject: [PATCH] Use AffineConstraints --- .../elastoplastic.cc | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/goal_oriented_elastoplasticity/elastoplastic.cc b/goal_oriented_elastoplasticity/elastoplastic.cc index c6e84ad..33919bf 100644 --- a/goal_oriented_elastoplasticity/elastoplastic.cc +++ b/goal_oriented_elastoplasticity/elastoplastic.cc @@ -42,7 +42,7 @@ #include #include #include -#include +#include #include #include #include @@ -2394,27 +2394,27 @@ namespace ElastoPlastic void solve (); void output_results (); - const FESystem &fe; - DoFHandler dof_handler; - const Vector solution; + const FESystem &fe; + DoFHandler dof_handler; + const Vector solution; - const unsigned int fe_degree; + const unsigned int fe_degree; - const unsigned int fe_degree_dual; - FESystem fe_dual; - DoFHandler dof_handler_dual; + const unsigned int fe_degree_dual; + FESystem fe_dual; + DoFHandler dof_handler_dual; - const QGauss quadrature_formula; - const QGauss face_quadrature_formula; + const QGauss quadrature_formula; + const QGauss face_quadrature_formula; - ConstraintMatrix constraints_hanging_nodes_dual; - ConstraintMatrix constraints_dirichlet_and_hanging_nodes_dual; + AffineConstraints constraints_hanging_nodes_dual; + AffineConstraints constraints_dirichlet_and_hanging_nodes_dual; - SparsityPattern sparsity_pattern_dual; - SparseMatrix system_matrix_dual; - Vector system_rhs_dual; - Vector solution_dual; + SparsityPattern sparsity_pattern_dual; + SparseMatrix system_matrix_dual; + Vector system_rhs_dual; + Vector solution_dual; const ConstitutiveLaw constitutive_law; @@ -2754,7 +2754,7 @@ namespace ElastoPlastic constraints_dirichlet_and_hanging_nodes_dual, primal_solution); - ConstraintMatrix constraints_hanging_nodes; + AffineConstraints constraints_hanging_nodes; DoFTools::make_hanging_node_constraints (dof_handler, constraints_hanging_nodes); constraints_hanging_nodes.close(); @@ -3176,7 +3176,7 @@ namespace ElastoPlastic // for parallel distributed computing. // To deal with hanging nodes makes // life a bit more complicated since - // we need another ConstraintMatrix now. + // we need another AffineConstraints object now. // We create a Newton method for the // active set method for the contact // situation and to handle the nonlinear @@ -3246,7 +3246,7 @@ namespace ElastoPlastic // also step-40 and the @ref distributed documentation module) as // well as a variety of constraints: those imposed by hanging nodes, // by Dirichlet boundary conditions, and by the active set of - // contact nodes. Of the three ConstraintMatrix variables defined + // contact nodes. Of the three AffineConstraints objects defined // here, the first only contains hanging node constraints, the // second also those associated with Dirichlet boundary conditions, // and the third these plus the contact constraints. @@ -3274,8 +3274,8 @@ namespace ElastoPlastic IndexSet locally_owned_dofs; IndexSet locally_relevant_dofs; - ConstraintMatrix constraints_hanging_nodes; - ConstraintMatrix constraints_dirichlet_and_hanging_nodes; + AffineConstraints constraints_hanging_nodes; + AffineConstraints constraints_dirichlet_and_hanging_nodes; Vector fraction_of_plastic_q_points_per_cell; @@ -4232,7 +4232,7 @@ namespace ElastoPlastic // right hand side and Newton matrix. It looks fairly innocent because the // heavy lifting happens in the call to // ConstitutiveLaw::get_linearized_stress_strain_tensors() and in - // particular in ConstraintMatrix::distribute_local_to_global(), using the + // particular in AffineConstraints::distribute_local_to_global(), using the // constraints we have previously computed. template void @@ -4602,7 +4602,7 @@ namespace ElastoPlastic // mostly it is just setup then solve. Among the complications are: // // - For the hanging nodes we have to apply - // the ConstraintMatrix::set_zero function to newton_rhs. + // the AffineConstraints::set_zero function to newton_rhs. // This is necessary if a hanging node with solution value $x_0$ // has one neighbor with value $x_1$ which is in contact with the // obstacle and one neighbor $x_2$ which is not in contact. Because -- 2.39.5