75 #ifndef SLIP_REGULARVECTOR2DFIELD2D_HPP 
   76 #define SLIP_REGULARVECTOR2DFIELD2D_HPP 
  101 #include <boost/serialization/access.hpp> 
  102 #include <boost/serialization/split_member.hpp> 
  103 #include <boost/serialization/version.hpp> 
  104 #include <boost/serialization/base_object.hpp> 
  110 class stride_iterator;
 
  113 class iterator2d_box;
 
  116 class iterator2d_range;
 
  119 class const_iterator2d_box;
 
  122 class const_iterator2d_range;
 
  125 template <
typename T>
 
  128 template <
typename T>
 
  131 template <
typename T>
 
  134   template <
typename T, 
typename Gr
idT>
 
  137   template <
typename T, 
typename Gr
idT>
 
  138   std::ostream& operator<<(std::ostream & out, const slip::RegularVector2dField2d<T,GridT>& a);
 
  164   template <
typename T, 
typename Gr
idT = 
double>
 
  214   static const std::size_t 
DIM = 2;
 
  226     base(),init_point_(slip::
Point2d<GridT>()),grid_step_(slip::
Point2d<GridT>(GridT(1),GridT(1)))
 
  238     base(height,width),init_point_(slip::
Point2d<GridT>()),grid_step_(slip::
Point2d<GridT>(GridT(1),GridT(1)))
 
  254     base(height,width),init_point_(init_point),grid_step_(grid_step)
 
  266     base(height,width,val),init_point_(slip::
Point2d<GridT>()),grid_step_(slip::
Point2d<GridT>(GridT(1),GridT(1)))
 
  282     base(height,width,val),init_point_(init_point),grid_step_(grid_step)
 
  294     base(height,width,val),init_point_(slip::
Point2d<GridT>()),grid_step_(slip::
Point2d<GridT>(GridT(1),GridT(1)))
 
  313     base(height,width,val),init_point_(init_point),grid_step_(grid_step)
 
  325     base(height,width,val),init_point_(slip::
Point2d<GridT>()),grid_step_(slip::
Point2d<GridT>(GridT(1),GridT(1)))
 
  341     base(height,width,val),init_point_(init_point),grid_step_(grid_step)
 
  355   template<
typename InputIterator>
 
  360     base(height,width,first,last),init_point_(slip::
Point2d<GridT>()),grid_step_(slip::
Point2d<GridT>(GridT(1),GridT(1)))
 
  379   template<
typename InputIterator>
 
  386     base(height,width,first,last),init_point_(init_point),grid_step_(grid_step)
 
  409   template<
typename InputIterator>
 
  412                                        InputIterator first1,
 
  414                                        InputIterator first2):
 
  415     base(height,width),init_point_(slip::
Point2d<GridT>()),grid_step_(slip::
Point2d<GridT>(GridT(1),GridT(1)))
 
  418     std::vector<InputIterator> first_iterators_list(2);
 
  419     first_iterators_list[0] = first1;
 
  420     first_iterators_list[1] = first2;
 
  421     this->
fill(first_iterators_list,last1);
 
  440   template<
typename InputIterator>
 
  445                                                  InputIterator first1,
 
  447                                                  InputIterator first2):
 
  448     base(height,width),init_point_(init_point),grid_step_(grid_step)
 
  451     std::vector<InputIterator> first_iterators_list(2);
 
  452     first_iterators_list[0] = first1;
 
  453     first_iterators_list[1] = first2;
 
  454     this->
fill(first_iterators_list,last1);
 
  463     base(rhs),init_point_(rhs.init_point_),grid_step_(rhs.grid_step_)
 
  481   std::string 
name() 
const;
 
  494   friend std::ostream& operator<< <>(std::ostream & out, 
const self& a);
 
  525                                      const std::string& title,
 
  526                                      const std::string& zone) 
const;
 
  934   template<
typename Container2D>
 
  937                                   const std::size_t der_order, 
 
  938                                   const std::size_t sch_order,
 
  939                                   Container2D& result)
 const 
  941     assert(component < 2);
 
  942     assert(sch_order >= der_order);
 
  945     assert((sch_order / 2) <= sch_order);
 
  946     const std::size_t sch_shift = sch_order / 2;
 
  950     std::vector<slip::Matrix<double>::iterator> kernels_iterators(sch_order + 1);   
 
  951     for(std::size_t i = 0; i < (sch_order + 1); ++i)
 
  953                 kernels_iterators[i] = kernels.
row_begin(i);
 
  970                                                      result.row_begin(i));
 
  988                                                      result.col_rbegin(j));
 
 1039   template<
typename Container2D>
 
 1042       const std::size_t der_order, 
 
 1043       const std::size_t sch_order,
 
 1045       Container2D& result)
 const 
 1047     assert(component < 2);
 
 1048     assert(sch_order >= der_order);
 
 1051     assert((sch_order / 2) <= sch_order);
 
 1052     const std::size_t sch_shift = sch_order / 2;
 
 1056     std::vector<slip::Matrix<double>::iterator> kernels_iterators(sch_order + 1);   
 
 1057     for(std::size_t i = 0; i < (sch_order + 1); ++i)
 
 1059                 kernels_iterators[i] = kernels.
row_begin(i);
 
 1074                                                      this->
row_end(component,i, range_row), 
 
 1079                                                      result.row_begin(i, range_row));
 
 1092                                                      this->
col_rend(component,j, range_col), 
 
 1097                                                      result.col_rbegin(j, range_col));
 
 1118   template<
typename Container2D>
 
 1120                                   Container2D& result)
 const 
 1122     assert(sch_order >= 1);
 
 1123     assert((sch_order / 2) <= sch_order);
 
 1125     const std::size_t der_order = 1;
 
 1128     std::size_t component = 0;
 
 1162   template<
typename Container2D>
 
 1164                                  Container2D& result)
 const 
 1166     assert(sch_order >= 1);
 
 1167     assert((sch_order / 2) <= sch_order);
 
 1169     const std::size_t der_order = 1;
 
 1173     std::size_t component = 1;
 
 1202   template<
typename Container2D>
 
 1204                        Container2D& result)
 
 1206     assert(sch_order >= 1);
 
 1207     assert((sch_order / 2) <= sch_order);
 
 1209     const std::size_t der_order = 1;
 
 1214     self Mtmpx(rows,cols); 
 
 1222                                                 Mtmpx.bottom_right());
 
 1225     self Mtmpy(rows,cols); 
 
 1233                                                 Mtmpy.bottom_right());
 
 1239                     result[i][j] = Mtmpx[i][j][1] * Mtmpy[i][j][0] - Mtmpx[i][j][0] * Mtmpy[i][j][1];
 
 1255   template<
typename Container2D>
 
 1271   template<
typename Container2D>
 
 1289  template<
class Archive>
 
 1290     void save(Archive & ar, 
const unsigned int version)
 const 
 1292       ar & init_point_ & grid_step_;
 
 1293       ar & boost::serialization::base_object<slip::GenericMultiComponent2d<slip::Vector2d<T> > >(*this);
 
 1295    template<
class Archive>
 
 1296     void load(Archive & ar, 
const unsigned int version)
 
 1298       ar & init_point_ & grid_step_;
 
 1299       ar & boost::serialization::base_object<slip::GenericMultiComponent2d<slip::Vector2d<T> > >(*this);
 
 1301   BOOST_SERIALIZATION_SPLIT_MEMBER()
 
 1347 template<
typename T, 
typename Gr
idT>
 
 1348 RegularVector2dField2d<T,GridT> 
operator+(
const RegularVector2dField2d<T,GridT>& M1, 
 
 1357   template<
typename T, 
typename Gr
idT>
 
 1358   RegularVector2dField2d<T,GridT> 
operator+(
const T& val, 
 
 1359                                                                     const RegularVector2dField2d<T,GridT>& M1);
 
 1368 template<
typename T, 
typename Gr
idT>
 
 1369 RegularVector2dField2d<T,GridT> 
operator-(
const RegularVector2dField2d<T,GridT>& M1, 
 
 1378   template<
typename T, 
typename Gr
idT>
 
 1379   RegularVector2dField2d<T,GridT> 
operator-(
const T& val, 
 
 1380                                                                     const RegularVector2dField2d<T,GridT>& M1);
 
 1390   template<
typename T, 
typename Gr
idT>
 
 1391   RegularVector2dField2d<T,GridT> 
operator*(
const RegularVector2dField2d<T,GridT>& M1, 
 
 1400   template<
typename T, 
typename Gr
idT>
 
 1401   RegularVector2dField2d<T,GridT> 
operator*(
const T& val, 
 
 1402                                                                     const RegularVector2dField2d<T,GridT>& M1);
 
 1412   template<
typename T, 
typename Gr
idT>
 
 1413   RegularVector2dField2d<T,GridT> 
operator/(
const RegularVector2dField2d<T,GridT>& M1, 
 
 1425 template<
typename T, 
typename Gr
idT>
 
 1426 RegularVector2dField2d<T,GridT> 
operator+(
const RegularVector2dField2d<T,GridT>& M1, 
 
 1427                                                                   const RegularVector2dField2d<T,GridT>& M2);
 
 1435 template<
typename T, 
typename Gr
idT>
 
 1436 RegularVector2dField2d<T,GridT> 
operator+(
const RegularVector2dField2d<T,GridT>& M1, 
 
 1445   template<
typename T, 
typename Gr
idT>
 
 1447                                                                     const RegularVector2dField2d<T,GridT>& M1);
 
 1459 template<
typename T, 
typename Gr
idT>
 
 1460 RegularVector2dField2d<T,GridT> 
operator-(
const RegularVector2dField2d<T,GridT>& M1, 
 
 1461                                                                   const RegularVector2dField2d<T,GridT>& M2);
 
 1470 template<
typename T, 
typename Gr
idT>
 
 1471 RegularVector2dField2d<T,GridT> 
operator-(
const RegularVector2dField2d<T,GridT>& M1, 
 
 1480   template<
typename T, 
typename Gr
idT>
 
 1482                                                                     const RegularVector2dField2d<T,GridT>& M1);
 
 1494   template<
typename T, 
typename Gr
idT>
 
 1495   RegularVector2dField2d<T,GridT> 
operator*(
const RegularVector2dField2d<T,GridT>& M1, 
 
 1496                                       const RegularVector2dField2d<T,GridT>& M2);
 
 1505 template<
typename T, 
typename Gr
idT>
 
 1506 RegularVector2dField2d<T,GridT> 
operator*(
const RegularVector2dField2d<T,GridT>& M1, 
 
 1515   template<
typename T, 
typename Gr
idT>
 
 1517                                                                     const RegularVector2dField2d<T,GridT>& M1);
 
 1529   template<
typename T, 
typename Gr
idT>
 
 1530   RegularVector2dField2d<T,GridT> 
operator/(
const RegularVector2dField2d<T,GridT>& M1, 
 
 1531                                       const RegularVector2dField2d<T,GridT>& M2);
 
 1539 template<
typename T, 
typename Gr
idT>
 
 1540 RegularVector2dField2d<T,GridT> 
operator/(
const RegularVector2dField2d<T,GridT>& M1, 
 
 1565   template<
typename T, 
typename Gr
idT>
 
 1569     std::fill_n(this->begin(),this->size(),val);
 
 1574  template<
typename T, 
typename Gr
idT>
 
 1578     std::fill_n(this->begin(),this->size(),val);
 
 1583   template<
typename T, 
typename Gr
idT>
 
 1588     return (*
this)[i][j][0];
 
 1591   template<
typename T, 
typename Gr
idT>
 
 1596     return (*
this)[i][j][0];
 
 1599    template<
typename T, 
typename Gr
idT>
 
 1604     return this->Vx1(i,j);
 
 1607   template<
typename T, 
typename Gr
idT>
 
 1612     return this->Vx1(i,j);
 
 1615    template<
typename T, 
typename Gr
idT>
 
 1620     return (*
this)[i][j][1];
 
 1623   template<
typename T, 
typename Gr
idT>
 
 1628     return (*
this)[i][j][1];
 
 1630  template<
typename T, 
typename Gr
idT>
 
 1635     return this->Vx2(i,j);
 
 1638   template<
typename T, 
typename Gr
idT>
 
 1643     return this->Vx2(i,j);
 
 1646  template<
typename T, 
typename Gr
idT>
 
 1652     return (*
this)[i][j].Euclidean_norm();
 
 1655  template<
typename T, 
typename Gr
idT>
 
 1661     return (*
this)[i][j].angle();
 
 1664  template<
typename T, 
typename Gr
idT>
 
 1669     return this->init_point_[0] + GridT(j) * this->grid_step_[0];
 
 1672   template<
typename T, 
typename Gr
idT>
 
 1677     return this->init_point_[1] 
 
 1678           + GridT(this->rows() - 1 - i) * this->grid_step_[1];
 
 1681    template<
typename T, 
typename Gr
idT>
 
 1686     return this->x1(i,j);
 
 1689   template<
typename T, 
typename Gr
idT>
 
 1694     return this->x2(i,j);
 
 1698   template<
typename T, 
typename Gr
idT>
 
 1702     return this->init_point_;
 
 1705   template<
typename T, 
typename Gr
idT>
 
 1709     this->init_point_ = init_point;
 
 1712   template<
typename T, 
typename Gr
idT>
 
 1716     return this->grid_step_;
 
 1719   template<
typename T, 
typename Gr
idT>
 
 1723     this->grid_step_ = grid_step;
 
 1726   template<
typename T, 
typename Gr
idT>
 
 1734   template<
typename T, 
typename Gr
idT>
 
 1742   template<
typename T, 
typename Gr
idT>
 
 1750   template<
typename T, 
typename Gr
idT>
 
 1760  template<
typename T, 
typename Gr
idT>
 
 1768   template<
typename T, 
typename Gr
idT>
 
 1776   template<
typename T, 
typename Gr
idT>
 
 1784   template<
typename T, 
typename Gr
idT>
 
 1794   template<
typename T, 
typename Gr
idT>
 
 1799     std::transform(this->begin(),this->end(),tmp.
begin(),std::negate<slip::Vector2d<T> >());
 
 1803   template<
typename T, 
typename Gr
idT>
 
 1807     assert(this->dim1() == rhs.
dim1());
 
 1808     assert(this->dim2() == rhs.
dim2()); 
 
 1817     std::transform(this->begin(),this->end(),rhs.
begin(),this->begin(),std::plus<typename RegularVector2dField2d::value_type>());
 
 1821    template<
typename T, 
typename Gr
idT>
 
 1825     assert(this->dim1() == rhs.
dim1());
 
 1826     assert(this->dim2() == rhs.
dim2());
 
 1835     std::transform(this->begin(),this->end(),rhs.
begin(),this->begin(),std::minus<typename RegularVector2dField2d::value_type>());
 
 1839   template<
typename T, 
typename Gr
idT>
 
 1843     assert(this->dim1() == rhs.
dim1());
 
 1844     assert(this->dim2() == rhs.
dim2());
 
 1853     std::transform(this->begin(),this->end(),rhs.
begin(),this->begin(),std::multiplies<typename RegularVector2dField2d::value_type>());
 
 1857   template<
typename T, 
typename Gr
idT>
 
 1861     assert(this->dim1() == rhs.
dim1());
 
 1862     assert(this->dim2() == rhs.
dim2());
 
 1871     std::transform(this->begin(),this->end(),rhs.
begin(),this->begin(),std::divides<typename RegularVector2dField2d::value_type>());
 
 1875   template <
typename T, 
typename Gr
idT>
 
 1881     out<<
"init point: "<<a.init_point_<<std::endl;
 
 1882     out<<
"grid step: "<<a.grid_step_<<std::endl;
 
 1883     out<<
"data: "<<std::endl;
 
 1885     size_type rows  = a.
rows();
 
 1886     size_type cols = a.
cols();
 
 1888     for(size_type i = 0; i < rows; ++i)
 
 1890                 for(size_type j = 0; j < cols; ++j)
 
 1900   template<
typename T, 
typename Gr
idT>
 
 1906   template<
typename T, 
typename Gr
idT>
 
 1910     slip::write_gnuplot_vect2d<slip::RegularVector2dField2d<T,GridT> >(*
this, 
 
 1911                                                                                                                                  this->init_point_,this->grid_step_,file_path_name);
 
 1914   template<
typename T, 
typename Gr
idT>
 
 1917                                                                                       const std::string& title,
 
 1918                                                                                       const std::string& zone)
 const 
 1920     slip::write_tecplot_vect2d<slip::RegularVector2dField2d<T,GridT> >(*
this,
 
 1927  template<
typename T, 
typename Gr
idT>
 
 1931     slip::read_gnuplot_vect2d<slip::RegularVector2dField2d<T,GridT> >(file_path_name,*
this, this->init_point_,
 
 1935   template<
typename T, 
typename Gr
idT>
 
 1940     slip::read_tecplot_vect2d<slip::RegularVector2dField2d<T,GridT> >(file_path_name,*
this,this->init_point_,this->grid_step_);
 
 1944   template<
typename T, 
typename Gr
idT>
 
 1954   template<
typename T, 
typename Gr
idT>
 
 1962   template<
typename T, 
typename Gr
idT>
 
 1972   template<
typename T, 
typename Gr
idT>
 
 1981   template<
typename T, 
typename Gr
idT>
 
 1991   template<
typename T, 
typename Gr
idT>
 
 2000   template<
typename T, 
typename Gr
idT>
 
 2010   template<
typename T, 
typename Gr
idT>
 
 2022   template<
typename T, 
typename Gr
idT>
 
 2032   template<
typename T, 
typename Gr
idT>
 
 2042  template<
typename T, 
typename Gr
idT>
 
 2053   template<
typename T, 
typename Gr
idT>
 
 2063   template<
typename T, 
typename Gr
idT>
 
 2072   template<
typename T, 
typename Gr
idT>
 
 2085   template<
typename T, 
typename Gr
idT>
 
 2095   template<
typename T, 
typename Gr
idT>
 
 2104  template<
typename T, 
typename Gr
idT>
 
 2117   template<
typename T, 
typename Gr
idT>
 
 2131 #endif //SLIP_REGULARVECTOR2DFIELD2D_HPP 
RegularVector2dField2d()
Constructs a RegularVector2dField2d. 
 
void minus(InputIterator1 __first1, InputIterator1 __last1, InputIterator2 __first2, OutputIterator __result)
Computes the difference of two ranges. 
 
const_pointer const_row_iterator
 
friend class boost::serialization::access
 
T & Vx2(const size_type i, const size_type j)
Subscript access to second element of the data contained in the RegularVector2dField2d. 
 
const GridT x(const size_type i, const size_type j) const 
Subscript access to the real x1 value of the indexed (i,j) point of the RegularVector2dField2d. 
 
CoordType height() const 
compute the height of the Box2d. 
 
std::reverse_iterator< const_iterator > const_reverse_iterator
 
slip::kstride_iterator< const_vector2d_pointer, 2 > const_vector2d_iterator
 
iterator begin()
Returns a read/write iterator that points to the first element in the GenericMultiComponent2d. Iteration is done in ordinary element order. 
 
void vorticity(const std::size_t sch_order, Container2D &result) const 
Computes finite differences vorticity (curl) of a RegularVector2dField2d. 
 
This is a GenericMultiComponent2d class. This container statisfies the BidirectionnalContainer concep...
 
void read_tecplot(const std::string &file_path_name)
Reads a RegularVector2dField2d from a tecplot file path name. 
 
T & v(const size_type i, const size_type j)
Subscript access to second element of the data contained in the RegularVector2dField2d. 
 
RegularVector2dField2d(const size_type height, const size_type width, const T *val)
Constructs a RegularVector2dField2d initialized by an array val. 
 
size_type cols() const
Returns the number of columns (second dimension size) in the GenericMultiComponent2d. 
 
slip::RegularVector2dField2d< unsigned long, double > RegularVector2dField2d_ul
unsigned long alias 
 
std::string name() const 
Returns the name of the class. 
 
void set_grid_step(const slip::Point2d< GridT > &grid_step)
Write access to the grid step of the grid. 
 
norm_type Euclidean_norm() const
Returns the Euclidean norm  of the elements of the kvector. 
 
RegularVector2dField2d< float, double > Regular2D3Cf
float alias 
 
slip::RegularVector2dField2d< unsigned short, double > RegularVector2dField2d_us
unsigned long alias 
 
Provides a class to manipulate multicomponent 2d containers. 
 
void read_gnuplot(const std::string &file_path_name)
Reads a RegularVector2dField2d from a gnuplot file path name. 
 
Color< T > operator+(const Color< T > &V1, const Color< T > &V2)
 
iterator begin()
Returns a read/write iterator that points to the first element in the Matrix. Iteration is done in or...
 
Provides a class to manipulate iterator2d within a slip::Box2d. It is used to iterate throw 2d contai...
 
void divides(InputIterator1 __first1, InputIterator1 __last1, InputIterator2 __first2, OutputIterator __result)
Computes the pointwise division of two ranges. 
 
RegularVector2dField2d(const size_type height, const size_type width, InputIterator first, InputIterator last)
Contructs a RegularVector2dField2d from a range. 
 
size_type dim2() const
Returns the number of columns (second dimension size) in the GenericMultiComponent2d. 
 
RegularVector2dField2d(const size_type height, const size_type width, InputIterator first1, InputIterator last1, InputIterator first2)
Contructs a RegularVector2dField2d from a 2 ranges. 
 
CoordType width() const 
compute the width of the Box2d. 
 
slip::GenericMultiComponent2d< slip::Vector2d< T > >::const_iterator2d const_iterator2d
 
row_iterator row_begin(const size_type row)
Returns a read/write iterator that points to the first element of the row row in the GenericMultiComp...
 
const_pointer const_iterator
 
void bottom_right(Point< CoordType, 2 >)
Accessor/Mutator of the bottom_right point (p2) of Box2d. 
 
ptrdiff_t difference_type
 
RegularVector2dField2d(const size_type height, const size_type width, const slip::Vector2d< T > &val)
Constructs a RegularVector2dField2d initialized by the scalar value val. 
 
std::reverse_iterator< iterator > reverse_row_iterator
 
Provides some derivative algorithms and derivative functors. 
 
RegularVector2dField2d(const size_type height, const size_type width, const slip::Point2d< GridT > &init_point, const slip::Point2d< GridT > &grid_step)
Constructs a RegularVector2dField2d. 
 
row_iterator row_end(const size_type row)
Returns a read/write iterator that points one past the end element of the row row in the GenericMulti...
 
void write_gnuplot(const std::string &file_path_name) const 
Writes a RegularVector2dField2d to a gnuplot file path name. 
 
const slip::Point2d< GridT > & get_grid_step() const 
Read access to the init point of the grid. 
 
Provides a class to iterate a 1d range according to a constant step. 
 
slip::Vector2d< T > value_type
 
slip::lin_alg_traits< value_type >::value_type norm_type
 
Provides a class to manipulate 2d Vector. 
 
GenericMultiComponent2d< slip::Vector2d< T > > base
 
slip::GenericMultiComponent2d< slip::Vector2d< T > >::iterator2d iterator2d
 
This is a 2d Field containing slip::Vector2d associated with a regular grid. This container statisfie...
 
RegularVector2dField2d(const size_type height, const size_type width, const slip::Point2d< GridT > &init_point, const slip::Point2d< GridT > &grid_step, InputIterator first, InputIterator last)
Contructs a RegularVector2dField2d from a range. 
 
void set_init_point(const slip::Point2d< GridT > &init_point)
Write access to the init point of the grid. 
 
This is a point2d class, a specialized version of Point<CoordType,DIM> with DIM = 2...
 
RegularVector2dField2d(const size_type height, const size_type width, const slip::Point2d< GridT > &init_point, const slip::Point2d< GridT > &grid_step, const T *val)
Constructs a RegularVector2dField2d initialized by an array val. 
 
self & operator/=(const T &val)
 
RegularVector2dField2d(const self &rhs)
Constructs a copy of the RegularVector2dField2d rhs. 
 
size_type height() const
Returns the height (first dimension size) in the GenericMultiComponent2d. 
 
slip::kstride_iterator< vector2d_pointer, 2 > vector2d_iterator
 
std::reverse_iterator< col_iterator > reverse_col_iterator
 
size_type dim1() const
Returns the number of rows (first dimension size) in the GenericMultiComponent2d. ...
 
This is some iterator to iterate a 2d container into a Box area defined by the indices of the 2d cont...
 
self & operator-=(const T &val)
 
RegularVector2dField2d(const size_type height, const size_type width, const slip::Point2d< GridT > &init_point, const slip::Point2d< GridT > &grid_step, const slip::Vector2d< T > &val)
Constructs a RegularVector2dField2d initialized by the scalar value val. 
 
RegularVector2dField2d(const size_type height, const size_type width, const slip::Point2d< GridT > &init_point, const slip::Point2d< GridT > &grid_step, InputIterator first1, InputIterator last1, InputIterator first2)
Contructs a RegularVector2dField2d from a 2 ranges. 
 
void derivative_2d(Iterator2d1 I_up, Iterator2d1 I_bot, const slip::Point2d< T > &grid_step, slip::SPATIAL_DIRECTION der_dir, const std::size_t der_order, const std::size_t sch_order, Iterator2d2 R_up, Iterator2d2 R_bot)
Computes finite differences derivatives of a 2d range. 
 
reverse_col_iterator col_rend(const size_type col)
Returns a read/write reverse iterator that points one past the first element of the column column in ...
 
RegularVector2dField2d< float, double > Regular2D3C_f
float alias 
 
T & u(const size_type i, const size_type j)
Subscript access to first element of the data contained in the RegularVector2dField2d. 
 
iterator begin()
Returns a read/write iterator that points to the first element in the kvector. Iteration is done in o...
 
const RegularVector2dField2d< T, GridT > const_self
 
RegularVector2dField2d(const size_type height, const size_type width, const slip::Point2d< GridT > &init_point, const slip::Point2d< GridT > &grid_step, const slip::Vector2d< T > *val)
Constructs a RegularVector2dField2d initialized by an array val. 
 
void plus(InputIterator1 __first1, InputIterator1 __last1, InputIterator2 __first2, OutputIterator __result)
Computes the addition of two ranges. 
 
void multiplies(InputIterator1 __first1, InputIterator1 __last1, InputIterator2 __first2, OutputIterator __result)
Computes the pointwise product of two ranges. 
 
self & operator=(const slip::Vector2d< T > &val)
Affects all the element of the RegularVector2dField2d by val. 
 
void angle(Container2D &result)
Computes angle (radian) of each element with the cartesian axis and write it to a Container2D...
 
slip::stride_iterator< pointer > col_iterator
 
const std::string GRID_STEP_ERROR
 
vector2d_value_type * vector2d_pointer
 
const std::string GRID_INIT_POINT_ERROR
 
iterator2d upper_left()
Returns a read/write iterator2d that points to the first element of the GenericMultiComponent2d. It points to the upper left element of the GenericMultiComponent2d. 
 
RegularVector2dField2d(const size_type height, const size_type width, const slip::Vector2d< T > *val)
Constructs a RegularVector2dField2d initialized by an array val. 
 
const vector2d_value_type * const_vector2d_pointer
 
This is some iterator to iterate a 2d container into a slip::Box2d area defined by the indices of the...
 
const value_type * const_pointer
 
self & operator*=(const T &val)
 
const value_type & const_reference
 
RegularVector2dField2d< double, double > Regular2D3C_d
double alias 
 
Numerical matrix class. This container statisfies the BidirectionnalContainer concepts of the STL...
 
void fill(const slip::Vector2d< T > &value)
Fills the container range [begin(),begin()+size()) with copies of value. 
 
Provides some algorithms to computes arithmetical operations on ranges. 
 
const slip::Point2d< GridT > & get_init_point() const 
Read access to the init point of the grid. 
 
std::ostream & operator<<(std::ostream &out, const Array< T > &a)
 
T & Vx1(const size_type i, const size_type j)
Subscript access to first element of the data contained in the RegularVector2dField2d. 
 
void upper_left(Point< CoordType, 2 >)
Accessor/Mutator of the upper_left point (p1) of Box2d. 
 
iterator end()
Returns a read/write iterator that points one past the last element in the GenericMultiComponent2d. Iteration is done in ordinary element order. 
 
norm_type angle(const size_type i, const size_type j) const 
Subscript access to a local angle contained in the RegularVector2dField2d. The result is a radian bet...
 
reverse_col_iterator col_rbegin(const size_type col)
Returns a read/write reverse iterator that points to the last element of the column column in the Gen...
 
RegularVector2dField2d< double, double > Regular2D3Cd
double alias 
 
self & operator+=(const T &val)
Add val to each element of the RegularVector2dField2d. 
 
slip::RegularVector2dField2d< char, double > RegularVector2dField2d_c
char alias 
 
This is a Vector2d struct. It is a specialization of kvector. It implements some peculiar 2d operatio...
 
~RegularVector2dField2d()
Destructor of the RegularVector2dField2d. 
 
slip::RegularVector2dField2d< long, double > RegularVector2dField2d_l
long alias 
 
slip::RegularVector2dField2d< unsigned char, double > RegularVector2dField2d_uc
unsigned char alias 
 
RegularVector2dField2d(const size_type height, const size_type width)
Constructs a RegularVector2dField2d. 
 
void write_tecplot(const std::string &file_path_name, const std::string &title, const std::string &zone) const 
Writes a RegularVector2dField2d to a tecplot file path name. 
 
void derivative(const std::size_t component, const slip::SPATIAL_DIRECTION der_dir, const std::size_t der_order, const std::size_t sch_order, const slip::Box2d< int > box, Container2D &result) const 
Computes finite differences derivatives of a RegularVector2dField2d. 
 
void lambda2(const std::size_t sch_order, Container2D &result)
Computes finite differences lambda2 of a RegularVector2dField2d. 
 
iterator end()
Returns a read/write iterator that points one past the last element in the Matrix. Iteration is done in ordinary element order. 
 
vector2d_value_type & vector2d_reference
 
const GridT x1(const size_type i, const size_type j) const 
Subscript access to the real x1 value of the indexed (i,j) point of the RegularVector2dField2d. 
 
size_type width() const
Returns the number of columns (second dimension size) in the GenericMultiComponent2d. 
 
const vector2d_value_type const_vector2d_reference
 
SPATIAL_DIRECTION
Choose between different spatial directions. 
 
slip::RegularVector2dField2d< int, double > RegularVector2dField2d_i
int alias 
 
Provides a class to manipulate Numerical Matrix. 
 
std::reverse_iterator< iterator > reverse_iterator
 
static const std::size_t DIM
 
Provides some algorithms to apply C like functions to ranges. 
 
Provides a class to modelize 2d points. 
 
slip::RegularVector2dField2d< short, double > RegularVector2dField2d_s
short alias 
 
Provides a class to iterate a 1d range according to a step. 
 
size_type rows() const
Returns the number of rows (first dimension size) in the GenericMultiComponent2d. ...
 
norm_type norm(const size_type i, const size_type j) const 
Subscript access to a local norm contained in the RegularVector2dField2d. 
 
void derivative(const std::size_t component, const slip::SPATIAL_DIRECTION der_dir, const std::size_t der_order, const std::size_t sch_order, Container2D &result) const 
Computes finite differences derivatives of a RegularVector2dField2d. 
 
void derivative(SrcIter first, SrcIter last, const std::size_t der_ord, const std::size_t sch_ord, const std::size_t sch_shift, const Container2D &M, ResIter result)
Computes 1d finite differences derivatives of an iterator range. 
 
slip::stride_iterator< const_pointer > const_col_iterator
 
void divergence(const std::size_t sch_order, Container2D &result) const 
Computes finite differences divergence of a RegularVector2dField2d. 
 
void finite_diff_kernels(const std::size_t der_ord, const std::size_t sch_ord, const std::size_t sch_shift, std::vector< KernelsIterator > &kernels_first)
Computes finite differences kernels for derivation based on Taylor series (sch_ord-sch_shift steps up...
 
slip::RegularVector2dField2d< unsigned int, double > RegularVector2dField2d_ui
unsigned int alias 
 
std::reverse_iterator< const_col_iterator > const_reverse_col_iterator
 
iterator2d bottom_right()
Returns a read/write iterator2d that points to the past the end element of the GenericMultiComponent2...
 
void norm(Container2D &result)
Computes Eucliean norm of each element in the field and write it to a Container2D. 
 
row_iterator row_begin(const size_type row)
Returns a read/write iterator that points to the first element of the row row in the Matrix...
 
Color< T > operator*(const Color< T > &V1, const Color< T > &V2)
 
Provides a class to manipulate iterator2d within a slip::Range. It is used to iterate throw 2d contai...
 
const GridT x2(const size_type i, const size_type j) const 
Subscript access to the real x2 value of the indexed (i,j) point of the RegularVector2dField2d. 
 
Color< T > operator/(const Color< T > &V1, const Color< T > &V2)
 
const GridT y(const size_type i, const size_type j) const 
Subscript access to the real x2 value of the indexed (i,j) point of the RegularVector2dField2d. 
 
slip::RegularVector2dField2d< double, double > RegularVector2dField2d_d
double alias 
 
Color< T > operator-(const Color< T > &V1, const Color< T > &V2)
 
slip::RegularVector2dField2d< float, double > RegularVector2dField2d_f
float alias 
 
std::reverse_iterator< const_iterator > const_reverse_row_iterator