boundarygrid.hh
Go to the documentation of this file.
113 os << "Nodes: " << q.v[0].i << "," << q.v[1].i << "," << q.v[2].i << "," << q.v[3].i << std::endl;
331 Dune::MultipleCodimMultipleGeomTypeMapper<LeafGridView> mapper(gv.leafGridView(), Dune::mcmgVertexLayout());
333 const typename LeafGridView::template Codim<3>::Iterator itend = gv.leafGridView().template end<3>();
A class describing a linear, quadrilateral element. Definition: boundarygrid.hh:86 friend std::ostream & operator<<(std::ostream &os, const Quad &q) Print to a stream. Definition: boundarygrid.hh:111 FaceCoord pos(double xi, double eta) const Return the physical coordinates corresponding to the given local coordinates. std::vector< double > evalBasis(double xi, double eta) const Evaluate the basis functions. bool operator==(const Vertex &v2) Comparison operator. Definition: boundarygrid.hh:80 Quad * q The quad containing the vertex (if search has been done) Definition: boundarygrid.hh:74 bool fixed Whether or not this node is fixed. Definition: boundarygrid.hh:77 FaceCoord c Coordinates of the vertex (2D) Definition: boundarygrid.hh:71 Vertex() Default constructor. Definition: boundarygrid.hh:65 std::vector< Quad > grid Our quadrilateral elements. Definition: boundarygrid.hh:235 std::vector< bool > fixNodes Whether or not a given node is marked as fixed. Definition: boundarygrid.hh:239 bool cubicSolve(double eps, double A, double B, double C, double D, std::vector< double > &X) const Solves the cubic equation A*x^3+B*x^2+C*x+D=0. Quad & operator[](int index) Obtain a reference to a quad. Definition: boundarygrid.hh:133 virtual ~BoundaryGrid() Default (empty) destructor. Definition: boundarygrid.hh:55 Dune::FieldVector< double, 3 > GlobalCoordinate A coordinate on the underlying 3D grid. Definition: boundarygrid.hh:36 size_t totalNodes() const Return the total number of nodes on the grid when known. Definition: boundarygrid.hh:164 static void extract(Vertex &res, const Dune::FieldVector< double, 3 > &coord, int dir) Helper function for extracting given 2D coordinates from a 3D vector. size_t nodes Total number of nodes on grid. Definition: boundarygrid.hh:242 void addToColumn(size_t col, const Quad &quad) Definition: boundarygrid.hh:123 static void extract(FaceCoord &res, const GlobalCoordinate &coord, int dir) Helper function for extracting given 2D coordinates from a 3D coordinate. const Quad & getQuad(int col, int index) const Definition: boundarygrid.hh:146 std::vector< std::vector< Quad > > colGrids Definition: boundarygrid.hh:236 BoundaryGrid() Default (empty) constructor. Definition: boundarygrid.hh:52 const Quad & operator[](int index) const Obtain a const reference to a quad. Definition: boundarygrid.hh:141 friend std::ostream & operator<<(std::ostream &os, const BoundaryGrid &g) Print to a stream. Definition: boundarygrid.hh:245 static BoundaryGrid uniform(const FaceCoord &min, const FaceCoord &max, int k1, int k2, bool dc=false) Establish an uniform quad grid. bool find(Vertex &res, const Vertex &coord) const Locate the position of a vertex on the grid. bool bilinearSolve(double epsilon, double order, const double *A, const double *B, std::vector< double > &X, std::vector< double > &Y) const Solves a bi-linear set of equations in x and y. A1 * x*y + A2 * x + A3 * y = A4 B1 * x*y + B2 * x + B... Dune::FieldVector< double, 2 > FaceCoord A coordinate on the quad grid. Definition: boundarygrid.hh:38 int Q4inv(FaceCoord &res, const Quad &q, const FaceCoord &coord, double epsZero, double epsOut) const Find the local coordinates of a given point within a given quad. bool isFixed(int node) const Check if a given node is marked as fixed. Definition: boundarygrid.hh:172 size_t size() const Obtain the number of quads in the grid. Definition: boundarygrid.hh:152 Dune::FieldMatrix< ctype, coorddimension, mydimension > Jacobian Type of Jacobian matrix. Definition: boundarygrid.hh:319 HexGeometry(const BoundaryGrid::Quad &q, const GridImp &gv, int dir) Construct integration element extracted from a 3D grid. Definition: boundarygrid.hh:328 int corners() const Returns number of corners. Definition: boundarygrid.hh:364 GlobalCoordinate center() const Returns center of quadrilateral. Definition: boundarygrid.hh:376 LocalCoordinate local(const GlobalCoordinate &y) const Map from global coordinates to local coordinates. Definition: boundarygrid.hh:417 const Dune::FieldMatrix< ctype, coorddimension, mydimension > jacobianInverseTransposed(const LocalCoordinate &local) const Returns the inverse, transposed Jacobian. Definition: boundarygrid.hh:467 Dune::FieldVector< ctype, mydimension > LocalCoordinate Domain type. Definition: boundarygrid.hh:313 Dune::GeometryType type() const Returns entity type (a 2D cube) Definition: boundarygrid.hh:356 ctype volume() const Returns volume (area) of quadrilateral. Definition: boundarygrid.hh:370 double ctype Coordinate element type. Definition: boundarygrid.hh:310 Dune::FieldVector< ctype, coorddimension > GlobalCoordinate Range type. Definition: boundarygrid.hh:316 Dune::FieldMatrix< ctype, mydimension, coorddimension > JacobianTransposed Type of transposed Jacobian matrix. Definition: boundarygrid.hh:322 GlobalCoordinate corner(int cor) const Returns coordinates to requested corner. Definition: boundarygrid.hh:385 ctype integrationElement(const LocalCoordinate &local) const Returns the integration element (|J'*J|)^(1/2) Definition: boundarygrid.hh:476 const Dune::FieldMatrix< ctype, mydimension, coorddimension > jacobianTransposed(const LocalCoordinate &local) const Return the transposed jacobian. Definition: boundarygrid.hh:437 HexGeometry(const BoundaryGrid::Quad &q) Construct integration element. Definition: boundarygrid.hh:348 GlobalCoordinate global(const LocalCoordinate &local) const Map from local coordinates to global coordinates. Definition: boundarygrid.hh:392 BoundaryGrid::Vertex maxXmaxY(std::vector< BoundaryGrid::Vertex > &in) Find the vertex in the vector with maximum X and maximum Y. BoundaryGrid::Vertex minXminY(std::vector< BoundaryGrid::Vertex > &in) Find the vertex in the vector with minimum X and minimum Y. BoundaryGrid::Vertex maxXminY(std::vector< BoundaryGrid::Vertex > &in) Find the vertex in the vector with maximum X and minimum Y. BoundaryGrid::Vertex minXmaxY(std::vector< BoundaryGrid::Vertex > &in) Find the vertex in the vector with minimum X and maximum Y. Definition: ImplicitAssembly.hpp:43 Predicate for checking if a vertex falls within a quads bounding box. Definition: boundarygrid.hh:215 bool operator()(const Quad &q) The comparison operator. Definition: boundarygrid.hh:221 FaceCoord coord The coordinates to check. Definition: boundarygrid.hh:231 BoundedPredicate(const FaceCoord &coord_) Default constructor. Definition: boundarygrid.hh:218 Predicate for sorting vertices. Definition: boundarygrid.hh:197 VertexLess(int comp) Default constructor. Definition: boundarygrid.hh:200 int dir Compare using this direction, if -1 compare using index values. Definition: boundarygrid.hh:211 bool operator()(const Vertex &q1, const Vertex &q2) The comparison operator. Definition: boundarygrid.hh:203 |