From: Guido Kanschat Date: Tue, 11 Sep 2007 20:22:23 +0000 (+0000) Subject: replaced the remaining 2nd derivatives by hessians X-Git-Tag: v8.0.0~9865 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dae1d02d168c7132851625b478445416e9009ed4;p=dealii.git replaced the remaining 2nd derivatives by hessians git-svn-id: https://svn.dealii.org/trunk@15193 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/include/fe/fe_poly.h b/deal.II/deal.II/include/fe/fe_poly.h index dcaa39a3e7..78f9d1ec86 100644 --- a/deal.II/deal.II/include/fe/fe_poly.h +++ b/deal.II/deal.II/include/fe/fe_poly.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 2004, 2005, 2006 by the deal.II authors +// Copyright (C) 2004, 2005, 2006, 2007 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -311,10 +311,10 @@ class FE_Poly : public FiniteElement * Mapping object used in * conjunction with this finite * element.
  • if - * update_second_derivatives + * update_hessians * is set, the result will * contain - * update_second_derivatives + * update_hessians * and * update_covariant_transformation. * The rationale is the same as diff --git a/deal.II/deal.II/include/fe/fe_poly.templates.h b/deal.II/deal.II/include/fe/fe_poly.templates.h index 1f9c0d586a..00373c32be 100644 --- a/deal.II/deal.II/include/fe/fe_poly.templates.h +++ b/deal.II/deal.II/include/fe/fe_poly.templates.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 2006 by the deal.II authors +// Copyright (C) 2006, 2007 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -137,8 +137,8 @@ FE_Poly::update_each (const UpdateFlags flags) const if (flags & update_gradients) out |= update_gradients | update_covariant_transformation; - if (flags & update_second_derivatives) - out |= update_second_derivatives | update_covariant_transformation; + if (flags & update_hessians) + out |= update_hessians | update_covariant_transformation; return out; } @@ -196,7 +196,7 @@ FE_Poly::get_data (const UpdateFlags update_flags, // finite differencing is required, // then initialize some objects for // that - if (flags & update_second_derivatives) + if (flags & update_hessians) data->initialize_2nd (this, mapping, quadrature); // next already fill those fields @@ -265,7 +265,7 @@ FE_Poly::fill_fe_values (const Mapping &mapping } const typename QProjector::DataSetDescriptor dsd; - if (flags & update_second_derivatives) + if (flags & update_hessians) this->compute_2nd (mapping, cell, dsd.cell(), mapping_data, fe_data, data); } @@ -319,7 +319,7 @@ FE_Poly::fill_fe_face_values (const Mapping &ma } } - if (flags & update_second_derivatives) + if (flags & update_hessians) this->compute_2nd (mapping, cell, offset, mapping_data, fe_data, data); } @@ -373,7 +373,7 @@ FE_Poly::fill_fe_subface_values (const Mapping } } - if (flags & update_second_derivatives) + if (flags & update_hessians) this->compute_2nd (mapping, cell, offset, mapping_data, fe_data, data); } diff --git a/deal.II/deal.II/include/fe/fe_system.h b/deal.II/deal.II/include/fe/fe_system.h index ece2c565f3..4a26ee1d42 100644 --- a/deal.II/deal.II/include/fe/fe_system.h +++ b/deal.II/deal.II/include/fe/fe_system.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 by the deal.II authors +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -941,7 +941,7 @@ class FESystem : public FiniteElement * second derivatives shall * be computed. */ - bool compute_second_derivatives; + bool compute_hessians; /** * Gives write-access to the diff --git a/deal.II/deal.II/source/fe/fe_abf.cc b/deal.II/deal.II/source/fe/fe_abf.cc index d229bef1fe..9c04e55b9d 100644 --- a/deal.II/deal.II/source/fe/fe_abf.cc +++ b/deal.II/deal.II/source/fe/fe_abf.cc @@ -545,8 +545,8 @@ FE_ABF::update_each (const UpdateFlags flags) const | update_JxW_values; //TODO: Set update flags appropriately and figure out, how the second // derivatives for the RT elements can be computed correctly. - if (flags & update_second_derivatives) - out |= update_second_derivatives | update_contravariant_transformation; + if (flags & update_hessians) + out |= update_hessians | update_contravariant_transformation; return out; } diff --git a/deal.II/deal.II/source/fe/fe_nedelec.cc b/deal.II/deal.II/source/fe/fe_nedelec.cc index 81f08ceeea..28b0b5cadf 100644 --- a/deal.II/deal.II/source/fe/fe_nedelec.cc +++ b/deal.II/deal.II/source/fe/fe_nedelec.cc @@ -904,8 +904,8 @@ FE_Nedelec::update_each (const UpdateFlags flags) const out |= update_values | update_covariant_transformation; if (flags & update_gradients) out |= update_gradients | update_covariant_transformation; - if (flags & update_second_derivatives) - out |= update_second_derivatives | update_covariant_transformation; + if (flags & update_hessians) + out |= update_hessians | update_covariant_transformation; return out; } @@ -952,7 +952,7 @@ FE_Nedelec::get_data (const UpdateFlags update_flags, // finite differencing is required, // then initialize some objects for // that - if (flags & update_second_derivatives) + if (flags & update_hessians) data->initialize_2nd (this, mapping, quadrature); // next already fill those fields @@ -1103,7 +1103,7 @@ FE_Nedelec::fill_fe_values (const Mapping &mapping, }; } - if (flags & update_second_derivatives) + if (flags & update_hessians) this->compute_2nd (mapping, cell, QProjector::DataSetDescriptor::cell(), mapping_data, fe_data, data); @@ -1253,7 +1253,7 @@ FE_Nedelec::fill_fe_face_values (const Mapping &mapp }; } - if (flags & update_second_derivatives) + if (flags & update_hessians) this->compute_2nd (mapping, cell, offset, mapping_data, fe_data, data); } @@ -1398,7 +1398,7 @@ FE_Nedelec::fill_fe_subface_values (const Mapping &m }; } - if (flags & update_second_derivatives) + if (flags & update_hessians) this->compute_2nd (mapping, cell, offset, mapping_data, fe_data, data); } diff --git a/deal.II/deal.II/source/fe/fe_poly_tensor.cc b/deal.II/deal.II/source/fe/fe_poly_tensor.cc index 0c8a1b2765..96cfb3563d 100644 --- a/deal.II/deal.II/source/fe/fe_poly_tensor.cc +++ b/deal.II/deal.II/source/fe/fe_poly_tensor.cc @@ -292,7 +292,7 @@ FE_PolyTensor::get_data (const UpdateFlags update_flags, // finite differencing is required, // then initialize some objects for // that - if (flags & update_second_derivatives) + if (flags & update_hessians) { // grad_grads.resize (this->dofs_per_cell); data->initialize_2nd (this, mapping, quadrature); @@ -504,7 +504,7 @@ FE_PolyTensor::fill_fe_values ( } } - if (flags & update_second_derivatives) + if (flags & update_hessians) this->compute_2nd (mapping, cell, typename QProjector::DataSetDescriptor().cell(), mapping_data, fe_data, data); @@ -689,7 +689,7 @@ FE_PolyTensor::fill_fe_face_values ( } } - if (flags & update_second_derivatives) + if (flags & update_hessians) this->compute_2nd (mapping, cell, offset, mapping_data, fe_data, data); } @@ -872,7 +872,7 @@ FE_PolyTensor::fill_fe_subface_values ( } } - if (flags & update_second_derivatives) + if (flags & update_hessians) this->compute_2nd (mapping, cell, offset, mapping_data, fe_data, data); } @@ -935,8 +935,8 @@ FE_PolyTensor::update_each (const UpdateFlags flags) const out |= update_values | update_covariant_transformation; if (flags & update_gradients) out |= update_gradients | update_covariant_transformation; - if (flags & update_second_derivatives) - out |= update_second_derivatives | update_covariant_transformation; + if (flags & update_hessians) + out |= update_hessians | update_covariant_transformation; return out; } diff --git a/deal.II/deal.II/source/fe/fe_raviart_thomas.cc b/deal.II/deal.II/source/fe/fe_raviart_thomas.cc index bc4ceb87da..f4e1273981 100644 --- a/deal.II/deal.II/source/fe/fe_raviart_thomas.cc +++ b/deal.II/deal.II/source/fe/fe_raviart_thomas.cc @@ -467,8 +467,8 @@ FE_RaviartThomas::update_each (const UpdateFlags flags) const | update_JxW_values; //TODO: Set update flags appropriately and figure out, how the second // derivatives for the RT elements can be computed correctly. - if (flags & update_second_derivatives) - out |= update_second_derivatives | update_contravariant_transformation; + if (flags & update_hessians) + out |= update_hessians | update_contravariant_transformation; return out; } diff --git a/deal.II/deal.II/source/fe/fe_system.cc b/deal.II/deal.II/source/fe/fe_system.cc index 2e68834440..ac3339edc1 100644 --- a/deal.II/deal.II/source/fe/fe_system.cc +++ b/deal.II/deal.II/source/fe/fe_system.cc @@ -564,8 +564,8 @@ FESystem::update_each (const UpdateFlags flags) const // therefore have to set the // respective flag since the base // elements don't have them - if (flags & update_second_derivatives) - out |= update_second_derivatives | update_covariant_transformation; + if (flags & update_hessians) + out |= update_hessians | update_covariant_transformation; return out; } @@ -592,13 +592,13 @@ FESystem::get_data (const UpdateFlags flags_, // finite differencing are required, // then initialize some objects for // that - data->compute_second_derivatives = flags & update_second_derivatives; - if (data->compute_second_derivatives) + data->compute_hessians = flags & update_hessians; + if (data->compute_hessians) { // delete - // update_second_derivatives + // update_hessians // from flags list - sub_flags = UpdateFlags (sub_flags ^ update_second_derivatives); + sub_flags = UpdateFlags (sub_flags ^ update_hessians); data->initialize_2nd (this, mapping, quadrature); } @@ -619,9 +619,9 @@ FESystem::get_data (const UpdateFlags flags_, // make sure that *we* compute // second derivatives, base // elements should not do it - Assert (!(base_fe_data->update_each & update_second_derivatives), + Assert (!(base_fe_data->update_each & update_hessians), ExcInternalError()); - Assert (!(base_fe_data->update_once & update_second_derivatives), + Assert (!(base_fe_data->update_once & update_hessians), ExcInternalError()); // The FEValuesData @p{data} @@ -950,7 +950,7 @@ compute_fill (const Mapping &mapping, // should not // have computed // them! - Assert (!(base_flags & update_second_derivatives), + Assert (!(base_flags & update_hessians), ExcInternalError()); }; }; @@ -980,7 +980,7 @@ compute_fill (const Mapping &mapping, } } - if (fe_data.compute_second_derivatives) + if (fe_data.compute_hessians) { unsigned int offset = 0; if (face_no != invalid_face_number) diff --git a/deal.II/deal.II/source/numerics/data_out.cc b/deal.II/deal.II/source/numerics/data_out.cc index db12a05d03..742bb86df8 100644 --- a/deal.II/deal.II/source/numerics/data_out.cc +++ b/deal.II/deal.II/source/numerics/data_out.cc @@ -613,7 +613,7 @@ void DataOut::build_some_patches (Data &data) if (update_flags & update_gradients) this->dof_data[dataset]->get_function_gradients (fe_patch_values, data.patch_gradients); - if (update_flags & update_second_derivatives) + if (update_flags & update_hessians) this->dof_data[dataset]->get_function_second_derivatives (fe_patch_values, data.patch_second_derivatives); postprocessor->compute_derived_quantities(data.postprocessed_values[dataset], @@ -634,7 +634,7 @@ void DataOut::build_some_patches (Data &data) if (update_flags & update_gradients) this->dof_data[dataset]->get_function_gradients (fe_patch_values, data.patch_gradients_system); - if (update_flags & update_second_derivatives) + if (update_flags & update_hessians) this->dof_data[dataset]->get_function_second_derivatives (fe_patch_values, data.patch_second_derivatives_system); postprocessor->compute_derived_quantities(data.postprocessed_values[dataset], diff --git a/deal.II/deal.II/source/numerics/data_out_faces.cc b/deal.II/deal.II/source/numerics/data_out_faces.cc index 20b3449f2b..8f61572a60 100644 --- a/deal.II/deal.II/source/numerics/data_out_faces.cc +++ b/deal.II/deal.II/source/numerics/data_out_faces.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 by the deal.II authors +// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -128,7 +128,7 @@ void DataOutFaces::build_some_patches (Data &data) if (update_flags & update_gradients) this->dof_data[dataset]->get_function_gradients (fe_patch_values, data.patch_gradients); - if (update_flags & update_second_derivatives) + if (update_flags & update_hessians) this->dof_data[dataset]->get_function_second_derivatives (fe_patch_values, data.patch_second_derivatives); postprocessor->compute_derived_quantities(data.postprocessed_values[dataset], @@ -149,7 +149,7 @@ void DataOutFaces::build_some_patches (Data &data) if (update_flags & update_gradients) this->dof_data[dataset]->get_function_gradients (fe_patch_values, data.patch_gradients_system); - if (update_flags & update_second_derivatives) + if (update_flags & update_hessians) this->dof_data[dataset]->get_function_second_derivatives (fe_patch_values, data.patch_second_derivatives_system); postprocessor->compute_derived_quantities(data.postprocessed_values[dataset], diff --git a/deal.II/deal.II/source/numerics/data_out_rotation.cc b/deal.II/deal.II/source/numerics/data_out_rotation.cc index 6b2059a0d5..137754a478 100644 --- a/deal.II/deal.II/source/numerics/data_out_rotation.cc +++ b/deal.II/deal.II/source/numerics/data_out_rotation.cc @@ -212,7 +212,7 @@ void DataOutRotation::build_some_patches (Data &data) if (update_flags & update_gradients) this->dof_data[dataset]->get_function_gradients (fe_patch_values, data.patch_gradients); - if (update_flags & update_second_derivatives) + if (update_flags & update_hessians) this->dof_data[dataset]->get_function_second_derivatives (fe_patch_values, data.patch_second_derivatives); postprocessor->compute_derived_quantities(data.postprocessed_values[dataset], @@ -233,7 +233,7 @@ void DataOutRotation::build_some_patches (Data &data) if (update_flags & update_gradients) this->dof_data[dataset]->get_function_gradients (fe_patch_values, data.patch_gradients_system); - if (update_flags & update_second_derivatives) + if (update_flags & update_hessians) this->dof_data[dataset]->get_function_second_derivatives (fe_patch_values, data.patch_second_derivatives_system); postprocessor->compute_derived_quantities(data.postprocessed_values[dataset], diff --git a/deal.II/deal.II/source/numerics/derivative_approximation.cc b/deal.II/deal.II/source/numerics/derivative_approximation.cc index bc170f5aa3..b18073592f 100644 --- a/deal.II/deal.II/source/numerics/derivative_approximation.cc +++ b/deal.II/deal.II/source/numerics/derivative_approximation.cc @@ -53,7 +53,7 @@ template const UpdateFlags DerivativeApproximation::SecondDerivative::update_flags = update_gradients; template -const UpdateFlags DerivativeApproximation::ThirdDerivative::update_flags = update_second_derivatives; +const UpdateFlags DerivativeApproximation::ThirdDerivative::update_flags = update_hessians; diff --git a/deal.II/examples/step-14/step-14.cc b/deal.II/examples/step-14/step-14.cc index 4bd8e1a839..32b076cb8e 100644 --- a/deal.II/examples/step-14/step-14.cc +++ b/deal.II/examples/step-14/step-14.cc @@ -2543,7 +2543,7 @@ namespace LaplaceSolver : fe_values (fe, quadrature, update_values | - update_second_derivatives | + update_hessians | update_q_points | update_JxW_values), right_hand_side (&right_hand_side) diff --git a/deal.II/examples/step-15/step-15.cc b/deal.II/examples/step-15/step-15.cc index 520133f458..374ab1229a 100644 --- a/deal.II/examples/step-15/step-15.cc +++ b/deal.II/examples/step-15/step-15.cc @@ -878,7 +878,7 @@ void MinimizationProblem<1>::refine_grid () QTrapez quadrature; FEValues fe_values (fe, quadrature, update_values | update_gradients | - update_second_derivatives | + update_hessians | update_q_points | update_JxW_values); // The error indicator formula presented in