&& index<static_cast<unsigned int>(end) )
{
//local entry
- /* @whattodo Note: OutputIterator needs to be instantiated as PetscScalar (or std::complex) */
- /* *(values_begin+i) = *(ptr+index-begin); */
- Assert ((false), ExcMessage ("This function is corrupt: @whattodo"));
+ *(values_begin+i) = *(ptr+index-begin);
}
else
{
= ghost_indices.index_within_set(index);
Assert(ghostidx+end-begin<(unsigned int)lsize, ExcInternalError());
- /* @whattodo Note: OutputIterator needs to be instantiated as PetscScalar (or std::complex) */
- /* *(values_begin+i) = *(ptr+ghostidx+end-begin); */
- Assert ((false), ExcMessage ("This function is corrupt: @whattodo"));
+ *(values_begin+i) = *(ptr+ghostidx+end-begin);
}
}
Assert(index>=static_cast<unsigned int>(begin)
&& index<static_cast<unsigned int>(end), ExcInternalError());
- /* @whattodo Note: OutputIterator needs to be instantiated as PetscScalar (or std::complex) */
- /* *(values_begin+i) = *(ptr+index-begin); */
- Assert ((false), ExcMessage ("This function is corrupt: @whattodo"));
+ *(values_begin+i) = *(ptr+index-begin);
}
ierr = VecRestoreArray(vector, &ptr);
template <int dim, class InVector, class OutVector, int spacedim>
void
- interpolate (const DoFHandler<dim,spacedim> &dof_1,
- const DoFHandler<dim,spacedim> &dof_2,
+ interpolate (const DoFHandler<dim,spacedim> &dof_1,
+ const DoFHandler<dim,spacedim> &dof_2,
const FullMatrix<double> &transfer,
const InVector &data_1,
OutVector &data_2)
{
- Vector<double> cell_data_1(dof_1.get_fe().dofs_per_cell);
+ Vector<double> cell_data_1(dof_1.get_fe().dofs_per_cell); // <- Vector<std::complex>
Vector<double> cell_data_2(dof_2.get_fe().dofs_per_cell);
std::vector<short unsigned int> touch_count (dof_2.n_dofs(), 0); //TODO: check on datatype... kinda strange (UK)
for (; h != endh; ++h, ++l)
{
- h->get_dof_values(data_1, cell_data_1);
+ // @whattodo Some of the problems in petsc_vector_base.h are instantiated here.
+ /* h->get_dof_values(data_1, cell_data_1); // <- complaint line 655 */
+ Assert ((false), ExcMessage ("This function is corrupt: @whattodo"));
+
transfer.vmult(cell_data_2, cell_data_1);
l->get_dof_indices (local_dof_indices);
Vector<number> &interpolated_values) const
{
const FiniteElement<dim,spacedim> &fe = this->get_fe();
- const unsigned int dofs_per_cell = fe.dofs_per_cell;
+ const unsigned int dofs_per_cell = fe.dofs_per_cell;
Assert (this->dof_handler != 0,
typename BaseClass::ExcInvalidObject());
if (!this->has_children())
// if this cell has no children: simply return the exact values on this
// cell
- this->get_dof_values (values, interpolated_values);
+ {
+ // @whattodo Another contribution to the initial problems in petcs_vector_base.h. Pandora's box!
+ // this->get_dof_values (values, interpolated_values);
+ Assert ((false), ExcMessage ("This function is corrupt: @whattodo"));
+ }
else
// otherwise clobber them from the children
{
template <int dim, class InVector, class OutVector, int spacedim>
void project_dg(const DoFHandler<dim,spacedim> &dof1,
- const InVector &u1,
+ const InVector &u1,
const DoFHandler<dim,spacedim> &dof2,
- OutVector &u2)
+ OutVector &u2)
{
Assert(&dof1.get_tria()==&dof2.get_tria(), ExcTriangulationMismatch());
Assert(dof1.get_fe().n_components() == dof2.get_fe().n_components(),
const unsigned int n1 = dof1.get_fe().dofs_per_cell;
const unsigned int n2 = dof2.get_fe().dofs_per_cell;
- Vector<double> u1_local(n1);
- Vector<double> u2_local(n2);
+ Vector<double> u1_local(n1); // <- Vector<std::complex>
+ Vector<double> u2_local(n2); // <- Vector<std::complex>
std::vector<types::global_dof_index> dofs(n2);
- FullMatrix<double> matrix(n2,n1);
+ FullMatrix<double> matrix(n2,n1); // ?
get_projection_matrix(dof1.get_fe(), dof2.get_fe(), matrix);
+
while (cell2 != end)
{
- cell1->get_dof_values(u1, u1_local);
+
+ // @whattodo Some of the problems in petsc_vector_base.h are instantiated here.
+ // cell1->get_dof_values(u1, u1_local); // <- complaint line 655
+ Assert ((false), ExcMessage ("This function is corrupt: @whattodo"));
+
matrix.vmult(u2_local, u1_local);
cell2->get_dof_indices(dofs);
+
for (unsigned int i=0; i<n2; ++i)
{
u2(dofs[i])+=u2_local(i);
// now get the values of the shift
// vectors at the vertices
Vector<double> mapping_values (shiftmap_dof_handler->get_fe().dofs_per_cell);
- dof_cell->get_dof_values (*euler_transform_vectors, mapping_values);
+ // @whattodo Some of the problems in petsc_vector_base.h are instantiated here.
+ // dof_cell->get_dof_values (*euler_transform_vectors, mapping_values); <- complaint line
+ Assert ((false), ExcMessage ("This function is corrupt: @whattodo"));
for (unsigned int i=0; i<GeometryInfo<dim>::vertices_per_cell; ++i)
{