Hi Phani,

Jean-Paul is right that one could use a less strict assert. But that's 
won't help you with actually using ContinuousQuadratureDataTransfer
to transfer the data. That's the main purpose of CellDataStorage -- provide 
association functionality between cells and collection of data objects per 
cell. There are code snippets that explain this in 
 
https://www.dealii.org/developer/doxygen/deal.II/classparallel_1_1distributed_1_1ContinuousQuadratureDataTransfer.html
That's why we never really considered/test a template parameter DataType to 
represent C++ scalar. 

Regards,
Denis.

On Saturday, October 28, 2017 at 2:31:53 AM UTC+2, Phani Motamarri wrote:
>
> Hi,
>
> I am trying to create a quadrature Point data in the form of 
> CellDataStorage. My quadrature point data are of of type "double" and hence 
> I do the following
>
>   CellDataStorage<typename DoFHandler<3>::active_cell_iterator,double> 
> rhoQuadData;
>    typename DoFHandler<3>::active_cell_iterator cell_start = 
> dofHandler.begin_active(), cell_end = dofHandler.end(); //// dofHandler is 
> previously created and is associated with the a finite-element mesh
>
>    rhoQuadData.initialize<double>(cell_start,
>                                                  cell_end,
>                                                  n_q_points);
>
>   I get a compilation error which says
>
>    
>
>
>
>
>
> *error: static assertion failed with "User's T class should be derived 
> from user's DataType class"    static_assert(std::is_base_of<DataType, 
> T>::value,    ^          detected during:            instantiation of "void 
> dealii::CellDataStorage<CellIteratorType, DataType>::initialize(const 
> CellIteratorType &, unsigned int) [with 
> CellIteratorType=dealii::TriaActiveIterator<dealii::DoFCellAccessor<dealii::DoFHandler<3,
>  
> 3>, false>>, DataType=double, T=double]" at line 532            
> instantiation of "void dealii::CellDataStorage<CellIteratorType, 
> DataType>::initialize(const CellIteratorType &, const CellIteratorType &, 
> unsigned int) [with 
> CellIteratorType=dealii::TriaActiveIterator<dealii::DoFCellAccessor<dealii::DoFHandler<3,
>  
> 3>, false>>, DataType=double, T=double]" at line 120 of 
> "/home/phanim/KohnShamCodes/DEALIICode/dft-fe/src/./dft/project.cc*
>
> This is very strange to me as DataType and T are both "double" but still I 
> get this static assertion error. Could you please let me know if I am 
> missing anything here?
>
> Thanks
> Phani
>

-- 
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 dealii+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to