From: Denis Davydov Date: Mon, 2 Feb 2015 22:27:17 +0000 (+0100) Subject: temporary fix to data_out_dof_data X-Git-Tag: v8.3.0-rc1~184^2~23 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b00637f168c91a9f8303ad9aa7ebd3375e0b6af6;p=dealii.git temporary fix to data_out_dof_data --- diff --git a/source/numerics/data_out_dof_data.cc b/source/numerics/data_out_dof_data.cc index 4ab418af9b..d16a21731e 100644 --- a/source/numerics/data_out_dof_data.cc +++ b/source/numerics/data_out_dof_data.cc @@ -545,7 +545,13 @@ namespace internal get_function_values (const FEValuesBase &fe_patch_values, std::vector > &patch_values_system) const { - fe_patch_values.get_function_values (*vector, patch_values_system); + //FIXME + std::vector > tmp(patch_values_system.size()); + for (unsigned int i = 0; i < patch_values_system.size(); i++) + tmp[i].reinit(patch_values_system[i]); + fe_patch_values.get_function_values (*vector, tmp); + for (unsigned int i = 0; i < patch_values_system.size(); i++) + patch_values_system[i] = tmp[i]; } @@ -556,7 +562,11 @@ namespace internal get_function_values (const FEValuesBase &fe_patch_values, std::vector &patch_values) const { - fe_patch_values.get_function_values (*vector, patch_values); + //FIXME + std::vector tmp (patch_values.size()); + fe_patch_values.get_function_values (*vector, tmp); + for (unsigned int i = 0; i < tmp.size();i++) + patch_values[i] = tmp[i]; } @@ -567,7 +577,14 @@ namespace internal get_function_gradients (const FEValuesBase &fe_patch_values, std::vector > > &patch_gradients_system) const { - fe_patch_values.get_function_gradients (*vector, patch_gradients_system); + //FIXME + std::vector > > tmp(patch_gradients_system.size()); + for (unsigned int i = 0; i < tmp.size();i++) + tmp[i].resize(patch_gradients_system.size()); + fe_patch_values.get_function_gradients (*vector, tmp); + for (unsigned int i = 0; i < tmp.size();i++) + for (unsigned int j = 0; j < tmp[i].size();j++) + patch_gradients_system[i][j] = tmp[i][j]; } @@ -578,7 +595,12 @@ namespace internal get_function_gradients (const FEValuesBase &fe_patch_values, std::vector > &patch_gradients) const { - fe_patch_values.get_function_gradients (*vector, patch_gradients); + //FIXME + std::vector > tmp; + tmp.resize(patch_gradients.size()); + fe_patch_values.get_function_gradients (*vector, tmp); + for (unsigned int i = 0; i < tmp.size();i++) + patch_gradients[i] = tmp[i]; } @@ -589,7 +611,13 @@ namespace internal get_function_hessians (const FEValuesBase &fe_patch_values, std::vector > > &patch_hessians_system) const { - fe_patch_values.get_function_hessians (*vector, patch_hessians_system); + std::vector > > tmp(patch_hessians_system.size()); + for (unsigned int i = 0; i < tmp.size(); i++) + tmp[i].resize(patch_hessians_system[i].size()); + fe_patch_values.get_function_hessians (*vector, tmp); + for (unsigned int i = 0; i < tmp.size(); i++) + for (unsigned int j = 0; j < tmp[i].size(); j++) + patch_hessians_system[i][j] = tmp[i][j]; } @@ -600,7 +628,10 @@ namespace internal get_function_hessians (const FEValuesBase &fe_patch_values, std::vector > &patch_hessians) const { - fe_patch_values.get_function_hessians (*vector, patch_hessians); + std::vector > tmp(patch_hessians.size()); + fe_patch_values.get_function_hessians (*vector, tmp); + for (unsigned int i = 0; i < tmp.size(); i++) + patch_hessians[i] = tmp[i]; }