From: guido Date: Mon, 23 May 2005 22:20:17 +0000 (+0000) Subject: use VectorSlice in transform functions; this will allow us to get rid of the offset... X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2622bfe62b41025089676c7fd19688034b7b3825;p=dealii-svn.git use VectorSlice in transform functions; this will allow us to get rid of the offset soon git-svn-id: https://svn.dealii.org/trunk@10707 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/include/fe/mapping.h b/deal.II/deal.II/include/fe/mapping.h index dd09cdeca4..144c3290be 100644 --- a/deal.II/deal.II/include/fe/mapping.h +++ b/deal.II/deal.II/include/fe/mapping.h @@ -15,6 +15,7 @@ #include +#include #include #include #include @@ -27,6 +28,7 @@ template class FEValues; template class FEFaceValues; template class FESubfaceValues; +//TODO: Offset in transform functions should be replaced by initializing VectorSlice correctly /*!@addtogroup febase */ /*@{*/ @@ -250,9 +252,9 @@ class Mapping : public Subscriptor */ virtual void - transform_covariant (const std::vector > &input, - const unsigned int offset, - std::vector > &output, + transform_covariant (const VectorSlice > > input, + const unsigned int offset, + VectorSlice > > output, const InternalDataBase &internal) const = 0; /** @@ -269,9 +271,9 @@ class Mapping : public Subscriptor */ virtual void - transform_covariant (const std::vector > &input, + transform_covariant (const VectorSlice > > input, const unsigned int offset, - std::vector > &output, + VectorSlice > > output, const InternalDataBase &internal) const = 0; /** @@ -297,9 +299,9 @@ class Mapping : public Subscriptor */ virtual void - transform_contravariant (const std::vector > &input, + transform_contravariant (const VectorSlice > > input, const unsigned int offset, - std::vector > &output, + VectorSlice > > output, const typename Mapping::InternalDataBase &internal) const = 0; /** @@ -323,9 +325,9 @@ class Mapping : public Subscriptor */ virtual void - transform_contravariant (const std::vector > &intput, + transform_contravariant (const VectorSlice > > intput, const unsigned int offset, - std::vector > &output, + const VectorSlice > > output, const typename Mapping::InternalDataBase &internal) const = 0; /** diff --git a/deal.II/deal.II/include/fe/mapping_cartesian.h b/deal.II/deal.II/include/fe/mapping_cartesian.h index 673adf633f..27d6f9896d 100644 --- a/deal.II/deal.II/include/fe/mapping_cartesian.h +++ b/deal.II/deal.II/include/fe/mapping_cartesian.h @@ -85,9 +85,9 @@ class MappingCartesian : public Mapping * interface in Mapping. */ virtual void - transform_covariant (const std::vector > &input, + transform_covariant (const VectorSlice > > input, const unsigned int offset, - std::vector > &output, + VectorSlice > > output, const typename Mapping::InternalDataBase &internal) const; /** @@ -95,9 +95,9 @@ class MappingCartesian : public Mapping * interface in Mapping. */ virtual void - transform_covariant (const std::vector > &input, + transform_covariant (const VectorSlice > > input, const unsigned int offset, - std::vector > &output, + VectorSlice > > output, const typename Mapping::InternalDataBase &internal) const; /** @@ -105,9 +105,9 @@ class MappingCartesian : public Mapping * interface in Mapping. */ virtual void - transform_contravariant (const std::vector > &input, + transform_contravariant (const VectorSlice > > input, const unsigned int offset, - std::vector > &output, + VectorSlice > > output, const typename Mapping::InternalDataBase &internal) const; /** @@ -115,9 +115,9 @@ class MappingCartesian : public Mapping * interface in Mapping. */ virtual void - transform_contravariant (const std::vector > &input, + transform_contravariant (const VectorSlice > > input, const unsigned int offset, - std::vector > &output, + VectorSlice > > output, const typename Mapping::InternalDataBase &internal) const; virtual Point diff --git a/deal.II/deal.II/include/fe/mapping_q.h b/deal.II/deal.II/include/fe/mapping_q.h index 86a495cfc1..9a5486770e 100644 --- a/deal.II/deal.II/include/fe/mapping_q.h +++ b/deal.II/deal.II/include/fe/mapping_q.h @@ -82,9 +82,9 @@ class MappingQ : public MappingQ1 * interface in Mapping. */ virtual void - transform_covariant (const std::vector > &input, + transform_covariant (const VectorSlice > > input, const unsigned int offset, - std::vector > &output, + VectorSlice > > output, const typename Mapping::InternalDataBase &internal) const; /** @@ -92,9 +92,9 @@ class MappingQ : public MappingQ1 * interface in Mapping. */ virtual void - transform_covariant (const std::vector > &input, + transform_covariant (const VectorSlice > > input, const unsigned int offset, - std::vector > &output, + VectorSlice > > output, const typename Mapping::InternalDataBase &internal) const; /** @@ -102,9 +102,9 @@ class MappingQ : public MappingQ1 * interface in Mapping. */ virtual void - transform_contravariant (const std::vector > &input, + transform_contravariant (const VectorSlice > > input, const unsigned int offset, - std::vector > &output, + VectorSlice > > output, const typename Mapping::InternalDataBase &internal) const; /** @@ -112,9 +112,9 @@ class MappingQ : public MappingQ1 * interface in Mapping. */ virtual void - transform_contravariant (const std::vector > &intput, + transform_contravariant (const VectorSlice > > input, const unsigned int offset, - std::vector > &output, + VectorSlice > > output, const typename Mapping::InternalDataBase &internal) const; /** diff --git a/deal.II/deal.II/include/fe/mapping_q1.h b/deal.II/deal.II/include/fe/mapping_q1.h index abbf3bc6a7..ccc91f3f9e 100644 --- a/deal.II/deal.II/include/fe/mapping_q1.h +++ b/deal.II/deal.II/include/fe/mapping_q1.h @@ -86,9 +86,9 @@ class MappingQ1 : public Mapping * Mapping. */ virtual void - transform_covariant (const std::vector > &input, + transform_covariant (const VectorSlice > > input, const unsigned int offset, - std::vector > &output, + VectorSlice > > output, const typename Mapping::InternalDataBase &internal) const; /** @@ -96,9 +96,9 @@ class MappingQ1 : public Mapping * Mapping. */ virtual void - transform_covariant (const std::vector > &input, + transform_covariant (const VectorSlice > > input, const unsigned int offset, - std::vector > &output, + VectorSlice > > output, const typename Mapping::InternalDataBase &internal) const; /** @@ -106,9 +106,9 @@ class MappingQ1 : public Mapping * Mapping. */ virtual void - transform_contravariant (const std::vector > &input, + transform_contravariant (const VectorSlice > > input, const unsigned int offset, - std::vector > &output, + VectorSlice > > output, const typename Mapping::InternalDataBase &internal) const; /** @@ -116,9 +116,9 @@ class MappingQ1 : public Mapping * Mapping. */ virtual void - transform_contravariant (const std::vector > &intput, + transform_contravariant (const VectorSlice > > input, const unsigned int offset, - std::vector > &output, + VectorSlice > > output, const typename Mapping::InternalDataBase &internal) const; /** diff --git a/deal.II/deal.II/source/fe/mapping_cartesian.cc b/deal.II/deal.II/source/fe/mapping_cartesian.cc index ef464dc095..89b38c52eb 100644 --- a/deal.II/deal.II/source/fe/mapping_cartesian.cc +++ b/deal.II/deal.II/source/fe/mapping_cartesian.cc @@ -432,11 +432,11 @@ MappingCartesian<1>::fill_fe_subface_values (const Triangulation<1>::cell_iterat template void -MappingCartesian:: -transform_covariant (const std::vector > &input, - const unsigned int offset, - std::vector > &output, - const typename Mapping::InternalDataBase &mapping_data) const +MappingCartesian::transform_covariant ( + const VectorSlice > > input, + const unsigned int offset, + VectorSlice > > output, + const typename Mapping::InternalDataBase &mapping_data) const { const InternalData &data = dynamic_cast (mapping_data); @@ -456,10 +456,11 @@ transform_covariant (const std::vector > &input, template void -MappingCartesian::transform_covariant (const std::vector > &input, - const unsigned int offset, - std::vector > &output, - const typename Mapping::InternalDataBase &mapping_data) const +MappingCartesian::transform_covariant ( + const VectorSlice > > input, + const unsigned int offset, + VectorSlice > > output, + const typename Mapping::InternalDataBase &mapping_data) const { const InternalData &data = dynamic_cast (mapping_data); @@ -480,10 +481,11 @@ MappingCartesian::transform_covariant (const std::vector > &i template void -MappingCartesian::transform_contravariant (const std::vector > &input, - const unsigned int offset, - std::vector > &output, - const typename Mapping::InternalDataBase &mapping_data) const +MappingCartesian::transform_contravariant ( + const VectorSlice > > input, + const unsigned int offset, + VectorSlice > > output, + const typename Mapping::InternalDataBase &mapping_data) const { // convert data object to internal // data for this class. fails with @@ -507,10 +509,11 @@ MappingCartesian::transform_contravariant (const std::vector template void -MappingCartesian::transform_contravariant (const std::vector > &input, - const unsigned int offset, - std::vector > &output, - const typename Mapping::InternalDataBase &mapping_data) const +MappingCartesian::transform_contravariant ( + const VectorSlice > > input, + const unsigned int offset, + VectorSlice > > output, + const typename Mapping::InternalDataBase &mapping_data) const { // convert data object to internal // data for this class. fails with diff --git a/deal.II/deal.II/source/fe/mapping_q.cc b/deal.II/deal.II/source/fe/mapping_q.cc index 14d60e5acc..569f9a4b21 100644 --- a/deal.II/deal.II/source/fe/mapping_q.cc +++ b/deal.II/deal.II/source/fe/mapping_q.cc @@ -1118,11 +1118,11 @@ add_quad_support_points(const typename Triangulation::cell_iterator &, template void -MappingQ:: -transform_covariant (const std::vector > &input, - const unsigned int offset, - std::vector > &output, - const typename Mapping::InternalDataBase &mapping_data) const +MappingQ::transform_covariant ( + const VectorSlice > > input, + const unsigned int offset, + VectorSlice > > output, + const typename Mapping::InternalDataBase &mapping_data) const { const typename MappingQ1::InternalData *q1_data = dynamic_cast::InternalData *> (&mapping_data); @@ -1153,10 +1153,11 @@ transform_covariant (const std::vector > &input, template void -MappingQ::transform_covariant (const std::vector > &input, - const unsigned int offset, - std::vector > &output, - const typename Mapping::InternalDataBase &mapping_data) const +MappingQ::transform_covariant ( + const VectorSlice > > input, + const unsigned int offset, + VectorSlice > > output, + const typename Mapping::InternalDataBase &mapping_data) const { const typename MappingQ1::InternalData *q1_data = dynamic_cast::InternalData *> (&mapping_data); @@ -1187,11 +1188,11 @@ MappingQ::transform_covariant (const std::vector > &input, template void -MappingQ:: -transform_contravariant (const std::vector > &input, - const unsigned int offset, - std::vector > &output, - const typename Mapping::InternalDataBase &mapping_data) const +MappingQ::transform_contravariant ( + const VectorSlice > > input, + const unsigned int offset, + VectorSlice > > output, + const typename Mapping::InternalDataBase &mapping_data) const { const typename MappingQ1::InternalData *q1_data = dynamic_cast::InternalData *> (&mapping_data); @@ -1222,10 +1223,11 @@ transform_contravariant (const std::vector > &input, template void -MappingQ::transform_contravariant (const std::vector > &input, - const unsigned int offset, - std::vector > &output, - const typename Mapping::InternalDataBase &mapping_data) const +MappingQ::transform_contravariant ( + const VectorSlice > > input, + const unsigned int offset, + VectorSlice > > output, + const typename Mapping::InternalDataBase &mapping_data) const { const typename MappingQ1::InternalData *q1_data = dynamic_cast::InternalData *> (&mapping_data); diff --git a/deal.II/deal.II/source/fe/mapping_q1.cc b/deal.II/deal.II/source/fe/mapping_q1.cc index 6433c21e3c..59de689edc 100644 --- a/deal.II/deal.II/source/fe/mapping_q1.cc +++ b/deal.II/deal.II/source/fe/mapping_q1.cc @@ -783,10 +783,11 @@ MappingQ1<1>::fill_fe_subface_values (const Triangulation<1>::cell_iterator &, template void -MappingQ1::transform_covariant (const std::vector > &input, - const unsigned int offset, - std::vector > &output, - const typename Mapping::InternalDataBase &mapping_data) const +MappingQ1::transform_covariant ( + const VectorSlice > > input, + const unsigned int offset, + VectorSlice > > output, + const typename Mapping::InternalDataBase &mapping_data) const { const InternalData *data_ptr = dynamic_cast (&mapping_data); Assert(data_ptr!=0, ExcInternalError()); @@ -805,10 +806,11 @@ MappingQ1::transform_covariant (const std::vector > &input, template void -MappingQ1::transform_covariant (const std::vector > &input, - const unsigned int offset, - std::vector > &output, - const typename Mapping::InternalDataBase &mapping_data) const +MappingQ1::transform_covariant ( + const VectorSlice > > input, + const unsigned int offset, + VectorSlice > > output, + const typename Mapping::InternalDataBase &mapping_data) const { const InternalData *data_ptr = dynamic_cast (&mapping_data); Assert(data_ptr!=0, ExcInternalError()); @@ -828,10 +830,11 @@ MappingQ1::transform_covariant (const std::vector > &input, template void MappingQ1:: -transform_contravariant (const std::vector > &input, - const unsigned int offset, - std::vector > &output, - const typename Mapping::InternalDataBase &mapping_data) const +transform_contravariant ( + const VectorSlice > > input, + const unsigned int offset, + VectorSlice > > output, + const typename Mapping::InternalDataBase &mapping_data) const { const InternalData* data_ptr = dynamic_cast (&mapping_data); Assert(data_ptr!=0, ExcInternalError()); @@ -850,11 +853,11 @@ transform_contravariant (const std::vector > &input, template void -MappingQ1:: -transform_contravariant (const std::vector > &input, - const unsigned int offset, - std::vector > &output, - const typename Mapping::InternalDataBase &mapping_data) const +MappingQ1::transform_contravariant ( + const VectorSlice > > input, + const unsigned int offset, + VectorSlice > > output, + const typename Mapping::InternalDataBase &mapping_data) const { const InternalData* data_ptr = dynamic_cast (&mapping_data); Assert(data_ptr!=0, ExcInternalError());