Loading src/TNL/Meshes/GridDetails/BoundaryGridEntityChecker.h +66 −50 Original line number Diff line number Diff line Loading @@ -98,13 +98,8 @@ class BoundaryGridEntityChecker< GridEntity< Meshes::Grid< 2, Real, Device, Inde __cuda_callable__ inline static bool isBoundaryEntity( const GridEntityType& entity ) { return( entity.getCoordinates().x() == 0 || entity.getCoordinates().y() == 0 || entity.getCoordinates().x() == entity.getMesh().getDimensions().x() - entity.getBasis().x() || entity.getCoordinates().y() == entity.getMesh().getDimensions().y() - entity.getBasis().y() ); return( ( entity.getOrientation().x() && ( entity.getCoordinates().x() == 0 || entity.getCoordinates().x() == entity.getMesh().getDimensions().x() ) ) || ( entity.getOrientation().y() && ( entity.getCoordinates().y() == 0 || entity.getCoordinates().y() == entity.getMesh().getDimensions().y() ) ) ); } }; Loading Loading @@ -138,14 +133,13 @@ class BoundaryGridEntityChecker< GridEntity< Meshes::Grid< 2, Real, Device, Inde template< typename Real, typename Device, typename Index, typename Config , int EntityDimensions > class BoundaryGridEntityChecker< GridEntity< Meshes::Grid< 3, Real, Device, Index >, EntityDimensions, Config > > typename Config > class BoundaryGridEntityChecker< GridEntity< Meshes::Grid< 3, Real, Device, Index >, 3, Config > > { public: typedef Meshes::Grid< 3, Real, Device, Index > GridType; typedef GridEntity< GridType, EntityDimensions, Config > GridEntityType; typedef GridEntity< GridType, 3, Config > GridEntityType; __cuda_callable__ inline static bool isBoundaryEntity( const GridEntityType& entity ) Loading @@ -153,13 +147,29 @@ class BoundaryGridEntityChecker< GridEntity< Meshes::Grid< 3, Real, Device, Inde return( entity.getCoordinates().x() == 0 || entity.getCoordinates().y() == 0 || entity.getCoordinates().z() == 0 || entity.getCoordinates().x() == entity.getMesh().getDimensions().x() - entity.getBasis().x() || entity.getCoordinates().y() == entity.getMesh().getDimensions().y() - entity.getBasis().y() || entity.getCoordinates().z() == entity.getMesh().getDimensions().z() - entity.getBasis().z() ); entity.getCoordinates().x() == entity.getMesh().getDimensions().x() - 1 || entity.getCoordinates().y() == entity.getMesh().getDimensions().y() - 1 || entity.getCoordinates().z() == entity.getMesh().getDimensions().z() - 1 ); } }; template< typename Real, typename Device, typename Index, typename Config > class BoundaryGridEntityChecker< GridEntity< Meshes::Grid< 3, Real, Device, Index >, 2, Config > > { public: typedef Meshes::Grid< 3, Real, Device, Index > GridType; typedef GridEntity< GridType, 2, Config > GridEntityType; __cuda_callable__ inline static bool isBoundaryEntity( const GridEntityType& entity ) { return( ( entity.getOrientation().x() && ( entity.getCoordinates().x() == 0 || entity.getCoordinates().x() == entity.getMesh().getDimensions().x() ) ) || ( entity.getOrientation().y() && ( entity.getCoordinates().y() == 0 || entity.getCoordinates().y() == entity.getMesh().getDimensions().y() ) ) || ( entity.getOrientation().z() && ( entity.getCoordinates().z() == 0 || entity.getCoordinates().z() == entity.getMesh().getDimensions().z() ) ) ); } }; Loading @@ -167,22 +177,28 @@ template< typename Real, typename Device, typename Index, typename Config > class BoundaryGridEntityChecker< GridEntity< Meshes::Grid< 3, Real, Device, Index >, 3, Config > > class BoundaryGridEntityChecker< GridEntity< Meshes::Grid< 3, Real, Device, Index >, 1, Config > > { public: typedef Meshes::Grid< 3, Real, Device, Index > GridType; typedef GridEntity< GridType, 3, Config > GridEntityType; typedef GridEntity< GridType, 1, Config > GridEntityType; __cuda_callable__ inline static bool isBoundaryEntity( const GridEntityType& entity ) { return( entity.getCoordinates().x() == 0 || entity.getCoordinates().y() == 0 || entity.getCoordinates().z() == 0 || entity.getCoordinates().x() == entity.getMesh().getDimensions().x() - 1 || entity.getCoordinates().y() == entity.getMesh().getDimensions().y() - 1 || entity.getCoordinates().z() == entity.getMesh().getDimensions().z() - 1 ); return( ( entity.getOrientation().x() && ( entity.getCoordinates().y() == 0 || entity.getCoordinates().y() == entity.getMesh().getDimensions().y() || entity.getCoordinates().z() == 0 || entity.getCoordinates().z() == entity.getMesh().getDimensions().z() ) ) || ( entity.getOrientation().y() && ( entity.getCoordinates().x() == 0 || entity.getCoordinates().x() == entity.getMesh().getDimensions().x() || entity.getCoordinates().z() == 0 || entity.getCoordinates().z() == entity.getMesh().getDimensions().z() ) ) || ( entity.getOrientation().z() && ( entity.getCoordinates().x() == 0 || entity.getCoordinates().x() == entity.getMesh().getDimensions().x() || entity.getCoordinates().y() == 0 || entity.getCoordinates().y() == entity.getMesh().getDimensions().y() ) ) ); } }; Loading Loading
src/TNL/Meshes/GridDetails/BoundaryGridEntityChecker.h +66 −50 Original line number Diff line number Diff line Loading @@ -98,13 +98,8 @@ class BoundaryGridEntityChecker< GridEntity< Meshes::Grid< 2, Real, Device, Inde __cuda_callable__ inline static bool isBoundaryEntity( const GridEntityType& entity ) { return( entity.getCoordinates().x() == 0 || entity.getCoordinates().y() == 0 || entity.getCoordinates().x() == entity.getMesh().getDimensions().x() - entity.getBasis().x() || entity.getCoordinates().y() == entity.getMesh().getDimensions().y() - entity.getBasis().y() ); return( ( entity.getOrientation().x() && ( entity.getCoordinates().x() == 0 || entity.getCoordinates().x() == entity.getMesh().getDimensions().x() ) ) || ( entity.getOrientation().y() && ( entity.getCoordinates().y() == 0 || entity.getCoordinates().y() == entity.getMesh().getDimensions().y() ) ) ); } }; Loading Loading @@ -138,14 +133,13 @@ class BoundaryGridEntityChecker< GridEntity< Meshes::Grid< 2, Real, Device, Inde template< typename Real, typename Device, typename Index, typename Config , int EntityDimensions > class BoundaryGridEntityChecker< GridEntity< Meshes::Grid< 3, Real, Device, Index >, EntityDimensions, Config > > typename Config > class BoundaryGridEntityChecker< GridEntity< Meshes::Grid< 3, Real, Device, Index >, 3, Config > > { public: typedef Meshes::Grid< 3, Real, Device, Index > GridType; typedef GridEntity< GridType, EntityDimensions, Config > GridEntityType; typedef GridEntity< GridType, 3, Config > GridEntityType; __cuda_callable__ inline static bool isBoundaryEntity( const GridEntityType& entity ) Loading @@ -153,13 +147,29 @@ class BoundaryGridEntityChecker< GridEntity< Meshes::Grid< 3, Real, Device, Inde return( entity.getCoordinates().x() == 0 || entity.getCoordinates().y() == 0 || entity.getCoordinates().z() == 0 || entity.getCoordinates().x() == entity.getMesh().getDimensions().x() - entity.getBasis().x() || entity.getCoordinates().y() == entity.getMesh().getDimensions().y() - entity.getBasis().y() || entity.getCoordinates().z() == entity.getMesh().getDimensions().z() - entity.getBasis().z() ); entity.getCoordinates().x() == entity.getMesh().getDimensions().x() - 1 || entity.getCoordinates().y() == entity.getMesh().getDimensions().y() - 1 || entity.getCoordinates().z() == entity.getMesh().getDimensions().z() - 1 ); } }; template< typename Real, typename Device, typename Index, typename Config > class BoundaryGridEntityChecker< GridEntity< Meshes::Grid< 3, Real, Device, Index >, 2, Config > > { public: typedef Meshes::Grid< 3, Real, Device, Index > GridType; typedef GridEntity< GridType, 2, Config > GridEntityType; __cuda_callable__ inline static bool isBoundaryEntity( const GridEntityType& entity ) { return( ( entity.getOrientation().x() && ( entity.getCoordinates().x() == 0 || entity.getCoordinates().x() == entity.getMesh().getDimensions().x() ) ) || ( entity.getOrientation().y() && ( entity.getCoordinates().y() == 0 || entity.getCoordinates().y() == entity.getMesh().getDimensions().y() ) ) || ( entity.getOrientation().z() && ( entity.getCoordinates().z() == 0 || entity.getCoordinates().z() == entity.getMesh().getDimensions().z() ) ) ); } }; Loading @@ -167,22 +177,28 @@ template< typename Real, typename Device, typename Index, typename Config > class BoundaryGridEntityChecker< GridEntity< Meshes::Grid< 3, Real, Device, Index >, 3, Config > > class BoundaryGridEntityChecker< GridEntity< Meshes::Grid< 3, Real, Device, Index >, 1, Config > > { public: typedef Meshes::Grid< 3, Real, Device, Index > GridType; typedef GridEntity< GridType, 3, Config > GridEntityType; typedef GridEntity< GridType, 1, Config > GridEntityType; __cuda_callable__ inline static bool isBoundaryEntity( const GridEntityType& entity ) { return( entity.getCoordinates().x() == 0 || entity.getCoordinates().y() == 0 || entity.getCoordinates().z() == 0 || entity.getCoordinates().x() == entity.getMesh().getDimensions().x() - 1 || entity.getCoordinates().y() == entity.getMesh().getDimensions().y() - 1 || entity.getCoordinates().z() == entity.getMesh().getDimensions().z() - 1 ); return( ( entity.getOrientation().x() && ( entity.getCoordinates().y() == 0 || entity.getCoordinates().y() == entity.getMesh().getDimensions().y() || entity.getCoordinates().z() == 0 || entity.getCoordinates().z() == entity.getMesh().getDimensions().z() ) ) || ( entity.getOrientation().y() && ( entity.getCoordinates().x() == 0 || entity.getCoordinates().x() == entity.getMesh().getDimensions().x() || entity.getCoordinates().z() == 0 || entity.getCoordinates().z() == entity.getMesh().getDimensions().z() ) ) || ( entity.getOrientation().z() && ( entity.getCoordinates().x() == 0 || entity.getCoordinates().x() == entity.getMesh().getDimensions().x() || entity.getCoordinates().y() == 0 || entity.getCoordinates().y() == entity.getMesh().getDimensions().y() ) ) ); } }; Loading