@@ -299,15 +299,15 @@ class OmegahMeshField {
299299
300300 template <typename DataType, size_t order, size_t numComp>
301301 // Ordering of field indexing changed to 'entity, node, component'
302- auto CreateLagrangeField () {
302+ auto CreateLagrangeField () const {
303303 return MeshField::CreateLagrangeField<ExecutionSpace, Controller, DataType,
304304 order, dim, numComp>(meshInfo);
305305 }
306306
307307 auto getCoordField () { return coordField; }
308308
309309 // FIXME support 2d and 3d and fields with order>1
310- template <typename Field> void writeVtk (Field &field) {
310+ template <typename Field> void writeVtk (Field &field) const {
311311 using FieldDataType = typename decltype (field.vtxField )::BaseType;
312312 // HACK assumes there is a vertex field.. in the Field Mixin object
313313 auto field_view = field.vtxField .serialize ();
@@ -318,7 +318,7 @@ class OmegahMeshField {
318318 }
319319
320320 template <typename ViewType = Kokkos::View<MeshField::LO *>>
321- ViewType createOffsets (size_t numTri, size_t numPtsPerElem) {
321+ ViewType createOffsets (size_t numTri, size_t numPtsPerElem) const {
322322 ViewType offsets (" offsets" , numTri + 1 );
323323 Kokkos::parallel_for (
324324 " setOffsets" , numTri,
@@ -331,7 +331,7 @@ class OmegahMeshField {
331331 // evaluate a field at the specified local coordinate for each triangle
332332 template <typename ViewType, typename ShapeField>
333333 auto triangleLocalPointEval (ViewType localCoords, size_t NumPtsPerElem,
334- ShapeField field) {
334+ ShapeField field) const {
335335 auto offsets = createOffsets (meshInfo.numTri , NumPtsPerElem);
336336 auto eval = triangleLocalPointEval<ViewType, ShapeField>(localCoords,
337337 offsets, field);
@@ -341,7 +341,7 @@ class OmegahMeshField {
341341 // evaluate a field at the specified local coordinates for each triangle
342342 template <typename ViewType, typename ShapeField>
343343 auto triangleLocalPointEval (ViewType localCoords, Kokkos::View<LO *> offsets,
344- ShapeField field) {
344+ ShapeField field) const {
345345 const auto MeshDim = 2 ;
346346 if (mesh.dim () != MeshDim) {
347347 MeshField::fail (" input mesh must be 2d\n " );
@@ -361,15 +361,15 @@ class OmegahMeshField {
361361
362362 template <typename ViewType, typename ShapeField>
363363 auto tetrahedronLocalPointEval (ViewType localCoords, size_t NumPtsPerElem,
364- ShapeField field) {
364+ ShapeField field) const {
365365 auto offsets = createOffsets (meshInfo.numTet , NumPtsPerElem);
366366 auto eval = tetrahedronLocalPointEval (localCoords, offsets, field);
367367 return eval;
368368 }
369369
370370 template <typename ViewType, typename ShapeField>
371371 auto tetrahedronLocalPointEval (ViewType localCoords,
372- Kokkos::View<LO *> offsets, ShapeField field) {
372+ Kokkos::View<LO *> offsets, ShapeField field) const {
373373 const auto MeshDim = 3 ;
374374 if (mesh.dim () != MeshDim) {
375375 MeshField::fail (" input mesh must be 3d\n " );
0 commit comments