Loading src/core/tnlSharedPointer.h +1 −1 Original line number Diff line number Diff line Loading @@ -279,7 +279,7 @@ class tnlSharedPointer< Object, tnlCuda > : public tnlSmartPointer if( this->cuda_pointer ) cudaFree( this->cuda_pointer ); #endif std:cerr << "Deleting data..." << std::endl; std::cerr << "Deleting data..." << std::endl; } } Loading src/matrices/tnlMatrixSetter.h +15 −16 Original line number Diff line number Diff line Loading @@ -15,8 +15,7 @@ * * ***************************************************************************/ #ifndef TNLMATRIXSETTER_H_ #define TNLMATRIXSETTER_H_ #pragma once template< typename DifferentialOperator, typename BoundaryConditions, Loading Loading @@ -49,6 +48,7 @@ class tnlMatrixSetter { public: typedef Mesh MeshType; typedef tnlSharedPointer< MeshType > MeshPointer; typedef typename MeshType::DeviceType DeviceType; typedef typename CompressedRowsLengthsVector::RealType IndexType; typedef tnlMatrixSetterTraversalUserData< DifferentialOperator, Loading @@ -56,24 +56,23 @@ class tnlMatrixSetter CompressedRowsLengthsVector > TraversalUserData; template< typename EntityType > void getCompressedRowsLengths( const MeshType& mesh, void getCompressedRowsLengths( const MeshPointer& meshPointer, DifferentialOperator& differentialOperator, BoundaryConditions& boundaryConditions, CompressedRowsLengthsVector& rowLengths ) const; class TraversalBoundaryEntitiesProcessor { public: template< int EntityDimension > template< typename EntityType > __cuda_callable__ static void processEntity( const MeshType& mesh, TraversalUserData& userData, const IndexType index ) const EntityType& entity ) { ( *userData.rowLengths )[ index ] = userData.boundaryConditions->getLinearSystemRowLength( mesh, index ); ( *userData.rowLengths )[ entity.getIndex() ] = userData.boundaryConditions->getLinearSystemRowLength( mesh, entity.getIndex(), entity ); } }; Loading @@ -86,16 +85,17 @@ class tnlMatrixSetter __cuda_callable__ static void processEntity( const MeshType& mesh, TraversalUserData& userData, const IndexType index ) const EntityType& entity ) { ( *userData.rowLengths )[ index ] = userData.differentialOperator->getLinearSystemRowLength( mesh, index ); ( *userData.rowLengths )[ entity.getIndex() ] = userData.differentialOperator->getLinearSystemRowLength( mesh, entity.getIndex(), entity ); } }; }; /* template< int Dimensions, typename Real, typename Device, Loading Loading @@ -155,7 +155,6 @@ class tnlMatrixSetter< tnlGrid< Dimensions, Real, Device, Index >, }; }; */ #include <matrices/tnlMatrixSetter_impl.h> #endif /* TNLMATRIXSETTER_H_ */ src/matrices/tnlMatrixSetter_impl.h +23 −24 Original line number Diff line number Diff line Loading @@ -15,8 +15,7 @@ * * ***************************************************************************/ #ifndef TNLMATRIXSETTER_IMPL_H_ #define TNLMATRIXSETTER_IMPL_H_ #pragma once #include <mesh/tnlTraverser.h> Loading @@ -27,25 +26,25 @@ template< typename Mesh, template< typename EntityType > void tnlMatrixSetter< Mesh, DifferentialOperator, BoundaryConditions, CompressedRowsLengthsVector >:: getCompressedRowsLengths( const Mesh& mesh, getCompressedRowsLengths( const MeshPointer& meshPointer, DifferentialOperator& differentialOperator, BoundaryConditions& boundaryConditions, CompressedRowsLengthsVector& rowLengths ) const { if( DeviceType::DeviceType == tnlHostDevice ) if( std::is_same< DeviceType, tnlHost >::value ) { TraversalUserData userData( differentialOperator, boundaryConditions, rowLengths ); tnlTraverser< MeshType, EntityType > meshTraversal; meshTraversal.template processBoundaryEntities< TraversalUserData, TraversalBoundaryEntitiesProcessor > ( mesh, ( meshPointer, userData ); meshTraversal.template processInteriorEntities< TraversalUserData, TraversalInteriorEntitiesProcessor > ( mesh, ( meshPointer, userData ); } if( DeviceType::DeviceType == tnlCudaDevice ) if( std::is_same< DeviceType, tnlCuda >::value ) { DifferentialOperator* kernelDifferentialOperator = tnlCuda::passToDevice( differentialOperator ); BoundaryConditions* kernelBoundaryConditions = tnlCuda::passToDevice( boundaryConditions ); Loading @@ -55,11 +54,11 @@ getCompressedRowsLengths( const Mesh& mesh, tnlTraverser< MeshType, EntityType > meshTraversal; meshTraversal.template processBoundaryEntities< TraversalUserData, TraversalBoundaryEntitiesProcessor > ( mesh, ( meshPointer, userData ); meshTraversal.template processInteriorEntities< TraversalUserData, TraversalInteriorEntitiesProcessor > ( mesh, ( meshPointer, userData ); checkCudaDevice; Loading @@ -70,6 +69,7 @@ getCompressedRowsLengths( const Mesh& mesh, } } /* template< int Dimensions, typename Real, typename Device, Loading @@ -80,7 +80,7 @@ template< int Dimensions, template< typename EntityType > void tnlMatrixSetter< tnlGrid< Dimensions, Real, Device, Index >, DifferentialOperator, BoundaryConditions, CompressedRowsLengthsVector >:: getCompressedRowsLengths( const MeshType& mesh, getCompressedRowsLengths( const MeshPointer& meshPointer, const DifferentialOperator& differentialOperator, const BoundaryConditions& boundaryConditions, CompressedRowsLengthsVector& rowLengths ) const Loading @@ -88,14 +88,14 @@ getCompressedRowsLengths( const MeshType& mesh, if( DeviceType::DeviceType == ( int ) tnlHostDevice ) { TraversalUserData userData( differentialOperator, boundaryConditions, rowLengths ); tnlTraverser< MeshType, EntityType > meshTraversal; tnlTraverser< MeshPointer, EntityType > meshTraversal; meshTraversal.template processBoundaryEntities< TraversalUserData, TraversalBoundaryEntitiesProcessor > ( mesh, ( meshPointer, userData ); meshTraversal.template processInteriorEntities< TraversalUserData, TraversalInteriorEntitiesProcessor > ( mesh, ( meshPointer, userData ); } if( DeviceType::DeviceType == ( int ) tnlCudaDevice ) Loading @@ -105,14 +105,14 @@ getCompressedRowsLengths( const MeshType& mesh, CompressedRowsLengthsVector* kernelCompressedRowsLengths = tnlCuda::passToDevice( rowLengths ); TraversalUserData userData( *kernelDifferentialOperator, *kernelBoundaryConditions, *kernelCompressedRowsLengths ); checkCudaDevice; tnlTraverser< MeshType, EntityType > meshTraversal; tnlTraverser< MeshPointer, EntityType > meshTraversal; meshTraversal.template processBoundaryEntities< TraversalUserData, TraversalBoundaryEntitiesProcessor > ( mesh, ( meshPointer, userData ); meshTraversal.template processInteriorEntities< TraversalUserData, TraversalInteriorEntitiesProcessor > ( mesh, ( meshPointer, userData ); checkCudaDevice; Loading @@ -122,6 +122,5 @@ getCompressedRowsLengths( const MeshType& mesh, checkCudaDevice; } } */ #endif /* TNLMATRIXSETTER_IMPL_H_ */ src/problems/tnlHeatEquationProblem_impl.h +2 −2 Original line number Diff line number Diff line Loading @@ -161,7 +161,7 @@ setupLinearSystem( const MeshPointer& meshPointer, return false; tnlMatrixSetter< MeshType, DifferentialOperator, BoundaryCondition, CompressedRowsLengthsVectorType > matrixSetter; matrixSetter.template getCompressedRowsLengths< typename Mesh::Cell >( *meshPointer, meshPointer, differentialOperator, boundaryCondition, rowLengths ); Loading Loading @@ -273,7 +273,7 @@ assemblyLinearSystem( const RealType& time, systemAssembler.template assembly< typename Mesh::Cell >( time, tau, *meshPointer, meshPointer, this->differentialOperator, this->boundaryCondition, this->rightHandSide, Loading src/solvers/pde/tnlExplicitTimeStepper.h +1 −1 Original line number Diff line number Diff line Loading @@ -49,7 +49,7 @@ class tnlExplicitTimeStepper bool setup( const tnlParameterContainer& parameters, const tnlString& prefix = "" ); bool init( const MeshType& mesh ); bool init( const MeshPointer& meshPointer ); void setSolver( OdeSolverType& odeSolver ); Loading Loading
src/core/tnlSharedPointer.h +1 −1 Original line number Diff line number Diff line Loading @@ -279,7 +279,7 @@ class tnlSharedPointer< Object, tnlCuda > : public tnlSmartPointer if( this->cuda_pointer ) cudaFree( this->cuda_pointer ); #endif std:cerr << "Deleting data..." << std::endl; std::cerr << "Deleting data..." << std::endl; } } Loading
src/matrices/tnlMatrixSetter.h +15 −16 Original line number Diff line number Diff line Loading @@ -15,8 +15,7 @@ * * ***************************************************************************/ #ifndef TNLMATRIXSETTER_H_ #define TNLMATRIXSETTER_H_ #pragma once template< typename DifferentialOperator, typename BoundaryConditions, Loading Loading @@ -49,6 +48,7 @@ class tnlMatrixSetter { public: typedef Mesh MeshType; typedef tnlSharedPointer< MeshType > MeshPointer; typedef typename MeshType::DeviceType DeviceType; typedef typename CompressedRowsLengthsVector::RealType IndexType; typedef tnlMatrixSetterTraversalUserData< DifferentialOperator, Loading @@ -56,24 +56,23 @@ class tnlMatrixSetter CompressedRowsLengthsVector > TraversalUserData; template< typename EntityType > void getCompressedRowsLengths( const MeshType& mesh, void getCompressedRowsLengths( const MeshPointer& meshPointer, DifferentialOperator& differentialOperator, BoundaryConditions& boundaryConditions, CompressedRowsLengthsVector& rowLengths ) const; class TraversalBoundaryEntitiesProcessor { public: template< int EntityDimension > template< typename EntityType > __cuda_callable__ static void processEntity( const MeshType& mesh, TraversalUserData& userData, const IndexType index ) const EntityType& entity ) { ( *userData.rowLengths )[ index ] = userData.boundaryConditions->getLinearSystemRowLength( mesh, index ); ( *userData.rowLengths )[ entity.getIndex() ] = userData.boundaryConditions->getLinearSystemRowLength( mesh, entity.getIndex(), entity ); } }; Loading @@ -86,16 +85,17 @@ class tnlMatrixSetter __cuda_callable__ static void processEntity( const MeshType& mesh, TraversalUserData& userData, const IndexType index ) const EntityType& entity ) { ( *userData.rowLengths )[ index ] = userData.differentialOperator->getLinearSystemRowLength( mesh, index ); ( *userData.rowLengths )[ entity.getIndex() ] = userData.differentialOperator->getLinearSystemRowLength( mesh, entity.getIndex(), entity ); } }; }; /* template< int Dimensions, typename Real, typename Device, Loading Loading @@ -155,7 +155,6 @@ class tnlMatrixSetter< tnlGrid< Dimensions, Real, Device, Index >, }; }; */ #include <matrices/tnlMatrixSetter_impl.h> #endif /* TNLMATRIXSETTER_H_ */
src/matrices/tnlMatrixSetter_impl.h +23 −24 Original line number Diff line number Diff line Loading @@ -15,8 +15,7 @@ * * ***************************************************************************/ #ifndef TNLMATRIXSETTER_IMPL_H_ #define TNLMATRIXSETTER_IMPL_H_ #pragma once #include <mesh/tnlTraverser.h> Loading @@ -27,25 +26,25 @@ template< typename Mesh, template< typename EntityType > void tnlMatrixSetter< Mesh, DifferentialOperator, BoundaryConditions, CompressedRowsLengthsVector >:: getCompressedRowsLengths( const Mesh& mesh, getCompressedRowsLengths( const MeshPointer& meshPointer, DifferentialOperator& differentialOperator, BoundaryConditions& boundaryConditions, CompressedRowsLengthsVector& rowLengths ) const { if( DeviceType::DeviceType == tnlHostDevice ) if( std::is_same< DeviceType, tnlHost >::value ) { TraversalUserData userData( differentialOperator, boundaryConditions, rowLengths ); tnlTraverser< MeshType, EntityType > meshTraversal; meshTraversal.template processBoundaryEntities< TraversalUserData, TraversalBoundaryEntitiesProcessor > ( mesh, ( meshPointer, userData ); meshTraversal.template processInteriorEntities< TraversalUserData, TraversalInteriorEntitiesProcessor > ( mesh, ( meshPointer, userData ); } if( DeviceType::DeviceType == tnlCudaDevice ) if( std::is_same< DeviceType, tnlCuda >::value ) { DifferentialOperator* kernelDifferentialOperator = tnlCuda::passToDevice( differentialOperator ); BoundaryConditions* kernelBoundaryConditions = tnlCuda::passToDevice( boundaryConditions ); Loading @@ -55,11 +54,11 @@ getCompressedRowsLengths( const Mesh& mesh, tnlTraverser< MeshType, EntityType > meshTraversal; meshTraversal.template processBoundaryEntities< TraversalUserData, TraversalBoundaryEntitiesProcessor > ( mesh, ( meshPointer, userData ); meshTraversal.template processInteriorEntities< TraversalUserData, TraversalInteriorEntitiesProcessor > ( mesh, ( meshPointer, userData ); checkCudaDevice; Loading @@ -70,6 +69,7 @@ getCompressedRowsLengths( const Mesh& mesh, } } /* template< int Dimensions, typename Real, typename Device, Loading @@ -80,7 +80,7 @@ template< int Dimensions, template< typename EntityType > void tnlMatrixSetter< tnlGrid< Dimensions, Real, Device, Index >, DifferentialOperator, BoundaryConditions, CompressedRowsLengthsVector >:: getCompressedRowsLengths( const MeshType& mesh, getCompressedRowsLengths( const MeshPointer& meshPointer, const DifferentialOperator& differentialOperator, const BoundaryConditions& boundaryConditions, CompressedRowsLengthsVector& rowLengths ) const Loading @@ -88,14 +88,14 @@ getCompressedRowsLengths( const MeshType& mesh, if( DeviceType::DeviceType == ( int ) tnlHostDevice ) { TraversalUserData userData( differentialOperator, boundaryConditions, rowLengths ); tnlTraverser< MeshType, EntityType > meshTraversal; tnlTraverser< MeshPointer, EntityType > meshTraversal; meshTraversal.template processBoundaryEntities< TraversalUserData, TraversalBoundaryEntitiesProcessor > ( mesh, ( meshPointer, userData ); meshTraversal.template processInteriorEntities< TraversalUserData, TraversalInteriorEntitiesProcessor > ( mesh, ( meshPointer, userData ); } if( DeviceType::DeviceType == ( int ) tnlCudaDevice ) Loading @@ -105,14 +105,14 @@ getCompressedRowsLengths( const MeshType& mesh, CompressedRowsLengthsVector* kernelCompressedRowsLengths = tnlCuda::passToDevice( rowLengths ); TraversalUserData userData( *kernelDifferentialOperator, *kernelBoundaryConditions, *kernelCompressedRowsLengths ); checkCudaDevice; tnlTraverser< MeshType, EntityType > meshTraversal; tnlTraverser< MeshPointer, EntityType > meshTraversal; meshTraversal.template processBoundaryEntities< TraversalUserData, TraversalBoundaryEntitiesProcessor > ( mesh, ( meshPointer, userData ); meshTraversal.template processInteriorEntities< TraversalUserData, TraversalInteriorEntitiesProcessor > ( mesh, ( meshPointer, userData ); checkCudaDevice; Loading @@ -122,6 +122,5 @@ getCompressedRowsLengths( const MeshType& mesh, checkCudaDevice; } } */ #endif /* TNLMATRIXSETTER_IMPL_H_ */
src/problems/tnlHeatEquationProblem_impl.h +2 −2 Original line number Diff line number Diff line Loading @@ -161,7 +161,7 @@ setupLinearSystem( const MeshPointer& meshPointer, return false; tnlMatrixSetter< MeshType, DifferentialOperator, BoundaryCondition, CompressedRowsLengthsVectorType > matrixSetter; matrixSetter.template getCompressedRowsLengths< typename Mesh::Cell >( *meshPointer, meshPointer, differentialOperator, boundaryCondition, rowLengths ); Loading Loading @@ -273,7 +273,7 @@ assemblyLinearSystem( const RealType& time, systemAssembler.template assembly< typename Mesh::Cell >( time, tau, *meshPointer, meshPointer, this->differentialOperator, this->boundaryCondition, this->rightHandSide, Loading
src/solvers/pde/tnlExplicitTimeStepper.h +1 −1 Original line number Diff line number Diff line Loading @@ -49,7 +49,7 @@ class tnlExplicitTimeStepper bool setup( const tnlParameterContainer& parameters, const tnlString& prefix = "" ); bool init( const MeshType& mesh ); bool init( const MeshPointer& meshPointer ); void setSolver( OdeSolverType& odeSolver ); Loading