Dear Timo,

Thank you very much! And I correct what you say, then "make" can go, but 
"make run" have error, and I don't understand what it mean and how to do:
 

yucan@ubuntu-csrc-b224:~/boost/deal.II/examples/practice-4order-39$ make run
[ 50%] Built target practice4order39
[100%] Run with Debug configuration
DEAL::Element: FE_DGQ<2>(3)
DEAL::Step 0
DEAL::Triangulation 16 cells, 2 levels
DEAL::DoFHandler 256 dofs, level dofs 64 256
DEAL::Assemble matrix

--------------------------------------------------------
An error occurred in line <4236> of file 
</home/yucan/boost/deal.II/include/deal.II/fe/fe_values.h> in function
    dealii::Tensor<2, spacedim> dealii::FEValuesBase<dim, 
spacedim>::shape_hessian_component(unsigned int, unsigned int, unsigned 
int) const [with int dim = 2; int spacedim = 2]
The violated condition was: 
    this->update_flags & update_hessians
The name and call sequence of the exception was:
    ExcAccessToUninitializedField("update_hessians")
Additional Information: 
You are requesting information from an 
FEValues/FEFaceValues/FESubfaceValues object for which this kind of 
information has not been computed. What information these objects compute 
is determined by the update_* flags you pass to the constructor. Here, the 
operation you are attempting requires the <update_hessians> flag to be set, 
but it was apparently not specified upon construction.


Stacktrace:
-----------
#0  ./practice4order39: dealii::FEValuesBase<2, 
2>::shape_hessian_component(unsigned int, unsigned int, unsigned int) const
#1  ./practice4order39: void 
dealii::LocalIntegrators::Biharmonic::cell_matrix<2>(dealii::FullMatrix<double>&,
 
dealii::FEValuesBase<2, 2> const&, double)
#2  ./practice4order39: 
practice4order39::MatrixIntegrator<2>::cell(dealii::MeshWorker::DoFInfo<2, 
2, double>&, dealii::MeshWorker::IntegrationInfo<2, 2>&) const
#3  ./practice4order39: std::_Function_handler<void 
(dealii::MeshWorker::DoFInfo<2, 2, double>&, 
dealii::MeshWorker::IntegrationInfo<2, 2>&), std::_Bind<std::_Mem_fn<void 
(dealii::MeshWorker::LocalIntegrator<2, 2, 
double>::*)(dealii::MeshWorker::DoFInfo<2, 2, double>&, 
dealii::MeshWorker::IntegrationInfo<2, 2>&) const> 
(dealii::MeshWorker::LocalIntegrator<2, 2, double> const*, 
std::_Placeholder<1>, std::_Placeholder<2>)> >::_M_invoke(std::_Any_data 
const&, dealii::MeshWorker::DoFInfo<2, 2, double>&, 
dealii::MeshWorker::IntegrationInfo<2, 2>&)
#4  ./practice4order39: std::function<void (dealii::MeshWorker::DoFInfo<2, 
2, double>&, dealii::MeshWorker::IntegrationInfo<2, 
2>&)>::operator()(dealii::MeshWorker::DoFInfo<2, 2, double>&, 
dealii::MeshWorker::IntegrationInfo<2, 2>&) const
#5  ./practice4order39: void 
dealii::MeshWorker::cell_action<dealii::MeshWorker::IntegrationInfoBox<2, 
2>, dealii::MeshWorker::DoFInfo<2, 2, double>, 2, 2, 
dealii::TriaActiveIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 
2>, false> > 
>(dealii::TriaActiveIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 
2>, false> >, dealii::MeshWorker::DoFInfoBox<2, 
dealii::MeshWorker::DoFInfo<2, 2, double> >&, 
dealii::MeshWorker::IntegrationInfoBox<2, 2>&, std::function<void 
(dealii::MeshWorker::DoFInfo<2, 2, double>&, 
dealii::MeshWorker::IntegrationInfoBox<2, 2>::CellInfo&)> const&, 
std::function<void (dealii::MeshWorker::DoFInfo<2, 2, double>&, 
dealii::MeshWorker::IntegrationInfoBox<2, 2>::CellInfo&)> const&, 
std::function<void (dealii::MeshWorker::DoFInfo<2, 2, double>&, 
dealii::MeshWorker::DoFInfo<2, 2, double>&, 
dealii::MeshWorker::IntegrationInfoBox<2, 2>::CellInfo&, 
dealii::MeshWorker::IntegrationInfoBox<2, 2>::CellInfo&)> const&, 
dealii::MeshWorker::LoopControl const&)
#6  ./practice4order39: void dealii::WorkStream::run<std::_Bind<void 
(*(std::_Placeholder<1>, std::_Placeholder<3>, std::_Placeholder<2>, 
std::function<void (dealii::MeshWorker::DoFInfo<2, 2, double>&, 
dealii::MeshWorker::IntegrationInfo<2, 2>&)>, std::function<void 
(dealii::MeshWorker::DoFInfo<2, 2, double>&, 
dealii::MeshWorker::IntegrationInfo<2, 2>&)>, std::function<void 
(dealii::MeshWorker::DoFInfo<2, 2, double>&, dealii::MeshWorker::DoFInfo<2, 
2, double>&, dealii::MeshWorker::IntegrationInfo<2, 2>&, 
dealii::MeshWorker::IntegrationInfo<2, 2>&)>, 
dealii::MeshWorker::LoopControl))(dealii::TriaActiveIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2,
 
2>, false> >, dealii::MeshWorker::DoFInfoBox<2, 
dealii::MeshWorker::DoFInfo<2, 2, double> >&, 
dealii::MeshWorker::IntegrationInfoBox<2, 2>&, std::function<void 
(dealii::MeshWorker::DoFInfo<2, 2, double>&, 
dealii::MeshWorker::IntegrationInfo<2, 2>&)> const&, std::function<void 
(dealii::MeshWorker::DoFInfo<2, 2, double>&, 
dealii::MeshWorker::IntegrationInfo<2, 2>&)> const&, std::function<void 
(dealii::MeshWorker::DoFInfo<2, 2, double>&, dealii::MeshWorker::DoFInfo<2, 
2, double>&, dealii::MeshWorker::IntegrationInfo<2, 2>&, 
dealii::MeshWorker::IntegrationInfo<2, 2>&)> const&, 
dealii::MeshWorker::LoopControl const&)>, std::_Bind<void 
(*(std::_Placeholder<1>, 
dealii::MeshWorker::Assembler::MatrixSimple<dealii::SparseMatrix<double> 
>*))(dealii::MeshWorker::DoFInfoBox<2, dealii::MeshWorker::DoFInfo<2, 2, 
double> > const&, 
dealii::MeshWorker::Assembler::MatrixSimple<dealii::SparseMatrix<double> 
>*)>, 
dealii::TriaActiveIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 
2>, false> >, dealii::MeshWorker::IntegrationInfoBox<2, 2>, 
dealii::MeshWorker::DoFInfoBox<2, dealii::MeshWorker::DoFInfo<2, 2, double> 
> 
>(dealii::TriaActiveIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 
2>, false> > const&, 
dealii::identity<dealii::TriaActiveIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2,
 
2>, false> > >::type const&, std::_Bind<void (*(std::_Placeholder<1>, 
std::_Placeholder<3>, std::_Placeholder<2>, std::function<void 
(dealii::MeshWorker::DoFInfo<2, 2, double>&, 
dealii::MeshWorker::IntegrationInfo<2, 2>&)>, std::function<void 
(dealii::MeshWorker::DoFInfo<2, 2, double>&, 
dealii::MeshWorker::IntegrationInfo<2, 2>&)>, std::function<void 
(dealii::MeshWorker::DoFInfo<2, 2, double>&, dealii::MeshWorker::DoFInfo<2, 
2, double>&, dealii::MeshWorker::IntegrationInfo<2, 2>&, 
dealii::MeshWorker::IntegrationInfo<2, 2>&)>, 
dealii::MeshWorker::LoopControl))(dealii::TriaActiveIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2,
 
2>, false> >, dealii::MeshWorker::DoFInfoBox<2, 
dealii::MeshWorker::DoFInfo<2, 2, double> >&, 
dealii::MeshWorker::IntegrationInfoBox<2, 2>&, std::function<void 
(dealii::MeshWorker::DoFInfo<2, 2, double>&, 
dealii::MeshWorker::IntegrationInfo<2, 2>&)> const&, std::function<void 
(dealii::MeshWorker::DoFInfo<2, 2, double>&, 
dealii::MeshWorker::IntegrationInfo<2, 2>&)> const&, std::function<void 
(dealii::MeshWorker::DoFInfo<2, 2, double>&, dealii::MeshWorker::DoFInfo<2, 
2, double>&, dealii::MeshWorker::IntegrationInfo<2, 2>&, 
dealii::MeshWorker::IntegrationInfo<2, 2>&)> const&, 
dealii::MeshWorker::LoopControl const&)>, std::_Bind<void 
(*(std::_Placeholder<1>, 
dealii::MeshWorker::Assembler::MatrixSimple<dealii::SparseMatrix<double> 
>*))(dealii::MeshWorker::DoFInfoBox<2, dealii::MeshWorker::DoFInfo<2, 2, 
double> > const&, 
dealii::MeshWorker::Assembler::MatrixSimple<dealii::SparseMatrix<double> 
>*)>, dealii::MeshWorker::IntegrationInfoBox<2, 2> const&, 
dealii::MeshWorker::DoFInfoBox<2, dealii::MeshWorker::DoFInfo<2, 2, double> 
> const&, unsigned int, unsigned int)
#7  ./practice4order39: void dealii::MeshWorker::loop<2, 2, 
dealii::MeshWorker::DoFInfo<2, 2, double>, 
dealii::MeshWorker::IntegrationInfoBox<2, 2>, 
dealii::MeshWorker::Assembler::MatrixSimple<dealii::SparseMatrix<double> >, 
dealii::TriaActiveIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 
2>, false> > 
>(dealii::TriaActiveIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 
2>, false> >, 
dealii::identity<dealii::TriaActiveIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2,
 
2>, false> > >::type, dealii::MeshWorker::DoFInfo<2, 2, double>&, 
dealii::MeshWorker::IntegrationInfoBox<2, 2>&, std::function<void 
(dealii::MeshWorker::DoFInfo<2, 2, double>&, 
dealii::MeshWorker::IntegrationInfoBox<2, 2>::CellInfo&)> const&, 
std::function<void (dealii::MeshWorker::DoFInfo<2, 2, double>&, 
dealii::MeshWorker::IntegrationInfoBox<2, 2>::CellInfo&)> const&, 
std::function<void (dealii::MeshWorker::DoFInfo<2, 2, double>&, 
dealii::MeshWorker::DoFInfo<2, 2, double>&, 
dealii::MeshWorker::IntegrationInfoBox<2, 2>::CellInfo&, 
dealii::MeshWorker::IntegrationInfoBox<2, 2>::CellInfo&)> const&, 
dealii::MeshWorker::Assembler::MatrixSimple<dealii::SparseMatrix<double> 
>&, dealii::MeshWorker::LoopControl const&)
#8  ./practice4order39: void dealii::MeshWorker::integration_loop<2, 2, 
dealii::TriaActiveIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 
2>, false> >, 
dealii::MeshWorker::Assembler::MatrixSimple<dealii::SparseMatrix<double> > 
>(dealii::TriaActiveIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 
2>, false> >, 
dealii::identity<dealii::TriaActiveIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2,
 
2>, false> > >::type, dealii::MeshWorker::DoFInfo<2, 2, double>&, 
dealii::MeshWorker::IntegrationInfoBox<2, 2>&, 
dealii::MeshWorker::LocalIntegrator<2, 2, double> const&, 
dealii::MeshWorker::Assembler::MatrixSimple<dealii::SparseMatrix<double> 
>&, dealii::MeshWorker::LoopControl const&)
#9  ./practice4order39: 
practice4order39::InteriorPenaltyProblem<2>::assemble_matrix()
#10  ./practice4order39: 
practice4order39::InteriorPenaltyProblem<2>::run(unsigned int)
#11  ./practice4order39: main
--------------------------------------------------------

make[3]: *** [CMakeFiles/run] Aborted (core dumped)
make[2]: *** [CMakeFiles/run.dir/all] Error 2
make[1]: *** [CMakeFiles/run.dir/rule] Error 2
make: *** [run] Error 2


please give me some help, thank you!

chucui


在 2018年2月27日星期二 UTC+8上午2:30:41,Timo Heister写道:
>
> for (unsigned int d=0; d<n_components; ++d) 
>                Tensor<2,dim> hessian_phi_v = 
> fe.shape_hessian_component(i, k, d); 
>                 Mii += dx * 
>                        (hessian_phi_v.trace * hessian_phi_v.trace); 
>
> You are missing curly braces: the way you wrote it, the Mii assignment 
> is not done inside the loop. 
>
>
> -- 
> Timo Heister 
> http://www.math.clemson.edu/~heister/ 
>

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to