42template <
typename TDomain,
typename TAlgebra>
54 m_u = spGridFct->clone_without_values();
70 for( ; iterBegin != iterEnd; ++iterBegin, ++k)
77 std::vector<DoFIndex> ind(1);
81 for( ; iterBegin != iterEnd; ++iterBegin, ++k)
86 m_u->inner_dof_indices(v, 0, ind);
92 template <
typename TElem>
96 Grid& grid = *
m_u->domain()->grid();
102 static const int numCo = ref_elem_type::numCorners;
110 for( ; iterBegin != iterEnd; ++iterBegin)
113 TElem *elem = *iterBegin;
130 for(
int i = 0; i < numCo; ++i)
146 template <
typename TElem>
150 Grid& grid = *
m_u->domain()->grid();
160 for( ; iterBegin != iterEnd; ++iterBegin)
163 TElem *elem = *iterBegin;
166 for(
size_t i = 0; i < (size_t) ref_elem_type::numCorners; ++i)
185 for(
size_t fct = 0; fct <
m_u->num_fct(); ++fct)
188 if(!
m_u->is_def_everywhere(fct))
189 UG_THROW(
"only serial case implemented!");
193 Grid& grid = *
m_u->domain()->grid();
210 case 0: count_sizes<Vertex>();
break;
211 case 1: count_sizes<RegularEdge>();
212 count_sizes<ConstrainingEdge>();
break;
213 case 2: count_sizes<Triangle>();
214 count_sizes<Quadrilateral>();
215 count_sizes<ConstrainingTriangle>();
216 count_sizes<ConstrainingQuadrilateral>();
break;
217 case 3: count_sizes<Tetrahedron>();
218 count_sizes<Pyramid>();
219 count_sizes<Prism>();
220 count_sizes<Octahedron>();
221 count_sizes<Hexahedron>();
break;
222 default:
UG_THROW(
name() <<
"::create_vtkoutput_ordering: Dimension " << dim <<
" is not supported.");
236 case 0: number_points_elementwise<Vertex>();
break;
237 case 1: number_points_elementwise<RegularEdge>();
238 number_points_elementwise<ConstrainingEdge>();
break;
239 case 2: number_points_elementwise<Triangle>();
240 number_points_elementwise<Quadrilateral>();
241 number_points_elementwise<ConstrainingTriangle>();
242 number_points_elementwise<ConstrainingQuadrilateral>();
break;
243 case 3: number_points_elementwise<Tetrahedron>();
244 number_points_elementwise<Pyramid>();
245 number_points_elementwise<Prism>();
246 number_points_elementwise<Octahedron>();
247 number_points_elementwise<Hexahedron>();
break;
248 default:
UG_THROW(
name() <<
"::create_vtkoutput_ordering: Dimension " << dim <<
" is not supported.");
259 const char*
name()
const {
return "GridPointsOrdering";}
Definition smart_pointer.h:108
A generic specialization of IAttachment.
Definition attachment_pipe.h:263
represents numerical solutions on a grid using an algebraic vector
Definition grid_function.h:121
Definition grid_function_user_data.h:68
Manages the elements of a grid and their interconnection.
Definition grid.h:132
void end_marking()
ends a marking sequence. Call this method when you're done with marking.
Definition grid.cpp:1285
bool is_marked(GridObject *obj) const
returns true if the object is marked, false if not.
Definition grid_impl.hpp:843
void mark(GridObject *obj)
marks the object. Calls are only valid between calls to Grid::begin_marking and Grid::end_marking.
Definition grid_impl.hpp:773
void begin_marking()
begin marking.
Definition grid.cpp:1262
void attach_to_vertices(IAttachment &attachment, bool passOnValues)
Definition grid.h:728
Definition io_grid_points_ordering.cpp:44
int m_numElem
Definition io_grid_points_ordering.cpp:266
GridFunctionNumberData< GridFunction< TDomain, TAlgebra > > TGridFunctionNumberData
Definition io_grid_points_ordering.cpp:46
void number_points_elementwise()
Definition io_grid_points_ordering.cpp:147
GridPointsOrdering(SmartPtr< TGridFunction > spGridFct, const char *name)
Definition io_grid_points_ordering.cpp:51
const char * m_name
Definition io_grid_points_ordering.cpp:263
GridFunction< TDomain, TAlgebra > TGridFunction
Definition io_grid_points_ordering.cpp:45
void count_sizes()
Definition io_grid_points_ordering.cpp:93
void create_vtkoutput_ordering()
Definition io_grid_points_ordering.cpp:183
ug::Attachment< int > AVrtIndex
Definition io_grid_points_ordering.cpp:48
SmartPtr< TGridFunction > m_u
Definition io_grid_points_ordering.cpp:262
size_t m_n
Definition io_grid_points_ordering.cpp:264
int m_numVert
Definition io_grid_points_ordering.cpp:265
Grid::VertexAttachmentAccessor< AVrtIndex > m_aaVrtIndex
Definition io_grid_points_ordering.cpp:269
int m_numConn
Definition io_grid_points_ordering.cpp:267
const char * name() const
Definition io_grid_points_ordering.cpp:259
SmartPtr< TGridFunctionNumberData > get()
Definition io_grid_points_ordering.cpp:255
Base-class for all vertex-types.
Definition grid_base_objects.h:231
Vertex * GetVertex(Vertex *v, size_t i)
returns the i'th vertex of a vertex
Definition grid_util_impl.hpp:99
#define UG_CATCH_THROW(msg)
Definition error.h:64
#define UG_THROW(msg)
Definition error.h:57
@ ROID_OCTAHEDRON
Definition grid_base_objects.h:84
number & DoFRef(TMatrix &mat, const DoFIndex &iInd, const DoFIndex &jInd)
Definition multi_index.h:276
int DimensionOfSubsets(const ISubsetHandler &sh)
Returns the dimension of geometric objects, that are contained in the subset handler.
Definition subset_dim_util.cpp:101
Definition vtkoutput.h:56
traits for reference elements
Definition reference_element_traits.h:48