Loading src/operators/fdm/tnlBackwardFiniteDifference.h 0 → 100644 +22 −0 Original line number Diff line number Diff line /* * File: tnlBackwardFiniteDifference.h * Author: oberhuber * * Created on January 9, 2016, 11:17 AM */ #ifndef TNLBACKWARDFINITEDIFFERENCE_H #define TNLBACKWARDFINITEDIFFERENCE_H template< typename Mesh, int Xdifference = 0, int YDifference = 0, int ZDifference = 0, typename RealType = typename Mesh::RealType, typename IndexType = typename Mesh::IndexType > class tnlBackwardFiniteDifference { }; #endif /* TNLBACKWARDFINITEDIFFERENCE_H */ src/operators/fdm/tnlCentralFiniteDifference.h 0 → 100644 +14 −0 Original line number Diff line number Diff line /* * File: tnlCentralFiniteDifference.h * Author: oberhuber * * Created on January 9, 2016, 11:17 AM */ #ifndef TNLCENTRALFINITEDIFFERENCE_H #define TNLCENTRALFINITEDIFFERENCE_H #endif /* TNLCENTRALFINITEDIFFERENCE_H */ src/operators/fdm/tnlForwardFiniteDifference.h 0 → 100644 +14 −0 Original line number Diff line number Diff line /* * File: tnlForwardFiniteDifference.h * Author: oberhuber * * Created on January 9, 2016, 11:16 AM */ #ifndef TNLFORWARDFINITEDIFFERENCE_H #define TNLFORWARDFINITEDIFFERENCE_H #endif /* TNLFORWARDFINITEDIFFERENCE_H */ src/operators/operator-Q/tnlOneSideDiffOperatorQ.h +36 −213 Original line number Diff line number Diff line Loading @@ -7,20 +7,17 @@ template< typename Mesh, typename Real = typename Mesh::RealType, typename Index = typename Mesh::IndexType, int Precomputation = 0 > typename Index = typename Mesh::IndexType > class tnlOneSideDiffOperatorQ { }; template< typename MeshReal, typename Device, typename MeshIndex, typename Real, typename Index > class tnlOneSideDiffOperatorQ< tnlGrid< 1,MeshReal, Device, MeshIndex >, Real, Index, 0 > class tnlOneSideDiffOperatorQ< tnlGrid< 1,MeshReal, Device, MeshIndex >, Real, Index > { public: Loading @@ -32,33 +29,23 @@ class tnlOneSideDiffOperatorQ< tnlGrid< 1,MeshReal, Device, MeshIndex >, Real, I static tnlString getType(); template< typename Vector > IndexType bind( Vector& u) { return 0; } __cuda_callable__ void update( const MeshType& mesh, const RealType& time ) {} template< typename MeshEntity, typename Vector > template< typename MeshFunction, typename MeshEntity > __cuda_callable__ Real getValue( Real operator()( const MeshFunction& u, const MeshEntity& entity, const Vector& u, const Real& time ) const; const Real& time = 0.0 ) const; template< typename MeshEntity, typename Vector > template< typename MeshFunction, typename MeshEntity > __cuda_callable__ Real getValueStriped( Real getValueStriped( const MeshFunction& u, const MeshEntity& entity, const Vector& u, const Real& time )const; const Real& time = 0.0 ) const; bool setEps(const Real& eps); private: RealType eps; RealType eps, epsSquare; }; Loading @@ -67,7 +54,7 @@ template< typename MeshReal, typename MeshIndex, typename Real, typename Index > class tnlOneSideDiffOperatorQ< tnlGrid< 2,MeshReal, Device, MeshIndex >, Real, Index, 0 > class tnlOneSideDiffOperatorQ< tnlGrid< 2,MeshReal, Device, MeshIndex >, Real, Index > { public: Loading @@ -79,80 +66,24 @@ class tnlOneSideDiffOperatorQ< tnlGrid< 2,MeshReal, Device, MeshIndex >, Real, I static tnlString getType(); template< typename Vector > IndexType bind( Vector& u) { return 0; } template< typename MeshFunction, typename MeshEntity > __cuda_callable__ void update( const MeshType& mesh, const RealType& time ) {} template< typename MeshEntity, typename Vector > __cuda_callable__ Real getValue( Real operator()( const MeshFunction& u, const MeshEntity& entity, const Vector& u, const Real& time ) const; template< typename MeshEntity, typename Vector > __cuda_callable__ Real getValueStriped( const MeshEntity& entity, const Vector& u, const Real& time )const; bool setEps(const Real& eps); private: RealType eps; }; template< typename MeshReal, typename Device, typename MeshIndex, typename Real, typename Index > class tnlOneSideDiffOperatorQ< tnlGrid< 3,MeshReal, Device, MeshIndex >, Real, Index, 0 > { public: const Real& time = 0.0 ) const; typedef tnlGrid< 3, MeshReal, Device, MeshIndex > MeshType; typedef typename MeshType::CoordinatesType CoordinatesType; typedef Real RealType; typedef Device DeviceType; typedef Index IndexType; static tnlString getType(); template< typename Vector > IndexType bind( Vector& u) { return 0; } template< typename MeshFunction, typename MeshEntity > __cuda_callable__ void update( const MeshType& mesh, const RealType& time ) {} template< typename MeshEntity, typename Vector > __cuda_callable__ Real getValue( Real getValueStriped( const MeshFunction& u, const MeshEntity& entity, const Vector& u, const Real& time ) const; template< typename MeshEntity, typename Vector > __cuda_callable__ Real getValueStriped( const MeshEntity& entity, const Vector& u, const Real& time ) const; const Real& time = 0.0 ) const; bool setEps(const Real& eps); void setEps( const Real& eps ); private: RealType eps; RealType eps, epsSquare; }; Loading @@ -161,104 +92,7 @@ template< typename MeshReal, typename MeshIndex, typename Real, typename Index > class tnlOneSideDiffOperatorQ< tnlGrid< 1,MeshReal, Device, MeshIndex >, Real, Index, 1 > { public: typedef tnlGrid< 1, MeshReal, Device, MeshIndex > MeshType; typedef typename MeshType::CoordinatesType CoordinatesType; typedef Real RealType; typedef Device DeviceType; typedef Index IndexType; static tnlString getType(); template< typename Vector > Index bind( Vector& u); __cuda_callable__ void update( const MeshType& mesh, const RealType& time ); template< typename MeshEntity, typename Vector > __cuda_callable__ Real getValue( const MeshEntity& entity, const Vector& u, const Real& time ) const; template< typename MeshEntity, typename Vector > __cuda_callable__ Real getValueStriped( const MeshEntity& entity, const Vector& u, const Real& time ) const; bool setEps(const Real& eps); private: tnlSharedVector< RealType, DeviceType, IndexType > u; tnlVector< RealType, DeviceType, IndexType> q; tnlVector< RealType, DeviceType, IndexType> qStriped; RealType eps; }; template< typename MeshReal, typename Device, typename MeshIndex, typename Real, typename Index > class tnlOneSideDiffOperatorQ< tnlGrid< 2,MeshReal, Device, MeshIndex >, Real, Index, 1 > { public: typedef tnlGrid< 2, MeshReal, Device, MeshIndex > MeshType; typedef typename MeshType::CoordinatesType CoordinatesType; typedef Real RealType; typedef Device DeviceType; typedef Index IndexType; typedef tnlSharedVector< RealType, DeviceType, IndexType > DofVectorType; static tnlString getType(); template< typename Vector > Index bind( Vector& u); __cuda_callable__ void update( const MeshType& mesh, const RealType& time ); template< typename MeshEntity, typename Vector > __cuda_callable__ Real getValue( const MeshEntity& entity, const Vector& u, const Real& time ) const; template< typename MeshEntity, typename Vector > __cuda_callable__ Real getValueStriped( const MeshType& mesh, const MeshEntity& entity, const Vector& u, const Real& time )const; bool setEps(const Real& eps); private: tnlSharedVector< RealType, DeviceType, IndexType > u; tnlVector< RealType, DeviceType, IndexType> q; tnlVector< RealType, DeviceType, IndexType> qStriped; RealType eps; }; template< typename MeshReal, typename Device, typename MeshIndex, typename Real, typename Index > class tnlOneSideDiffOperatorQ< tnlGrid< 3,MeshReal, Device, MeshIndex >, Real, Index, 1 > class tnlOneSideDiffOperatorQ< tnlGrid< 3, MeshReal, Device, MeshIndex >, Real, Index > { public: Loading @@ -270,34 +104,23 @@ class tnlOneSideDiffOperatorQ< tnlGrid< 3,MeshReal, Device, MeshIndex >, Real, I static tnlString getType(); template< typename Vector > Index bind( Vector& u); template< typename MeshFunction, typename MeshEntity > __cuda_callable__ void update( const MeshType& mesh, const RealType& time ); template< typename MeshEntity, typename Vector > __cuda_callable__ Real getValue( Real operator()( const MeshFunction& u, const MeshEntity& entity, const Vector& u, const Real& time ) const; const Real& time = 0.0 ) const; template< typename MeshEntity, typename Vector > template< typename MeshFunction, typename MeshEntity > __cuda_callable__ Real getValueStriped( Real getValueStriped( const MeshFunction& u, const MeshEntity& entity, const Vector& u, const Real& time ) const; bool setEps(const Real& eps); void setEps(const Real& eps); private: tnlSharedVector< RealType, DeviceType, IndexType > u; tnlVector< RealType, DeviceType, IndexType> q; tnlVector< RealType, DeviceType, IndexType> qStriped; RealType eps; RealType eps, epsSquare; }; #include <operators/operator-Q/tnlOneSideDiffOperatorQ_impl.h> Loading src/operators/operator-Q/tnlOneSideDiffOperatorQ_impl.h +105 −343 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
src/operators/fdm/tnlBackwardFiniteDifference.h 0 → 100644 +22 −0 Original line number Diff line number Diff line /* * File: tnlBackwardFiniteDifference.h * Author: oberhuber * * Created on January 9, 2016, 11:17 AM */ #ifndef TNLBACKWARDFINITEDIFFERENCE_H #define TNLBACKWARDFINITEDIFFERENCE_H template< typename Mesh, int Xdifference = 0, int YDifference = 0, int ZDifference = 0, typename RealType = typename Mesh::RealType, typename IndexType = typename Mesh::IndexType > class tnlBackwardFiniteDifference { }; #endif /* TNLBACKWARDFINITEDIFFERENCE_H */
src/operators/fdm/tnlCentralFiniteDifference.h 0 → 100644 +14 −0 Original line number Diff line number Diff line /* * File: tnlCentralFiniteDifference.h * Author: oberhuber * * Created on January 9, 2016, 11:17 AM */ #ifndef TNLCENTRALFINITEDIFFERENCE_H #define TNLCENTRALFINITEDIFFERENCE_H #endif /* TNLCENTRALFINITEDIFFERENCE_H */
src/operators/fdm/tnlForwardFiniteDifference.h 0 → 100644 +14 −0 Original line number Diff line number Diff line /* * File: tnlForwardFiniteDifference.h * Author: oberhuber * * Created on January 9, 2016, 11:16 AM */ #ifndef TNLFORWARDFINITEDIFFERENCE_H #define TNLFORWARDFINITEDIFFERENCE_H #endif /* TNLFORWARDFINITEDIFFERENCE_H */
src/operators/operator-Q/tnlOneSideDiffOperatorQ.h +36 −213 Original line number Diff line number Diff line Loading @@ -7,20 +7,17 @@ template< typename Mesh, typename Real = typename Mesh::RealType, typename Index = typename Mesh::IndexType, int Precomputation = 0 > typename Index = typename Mesh::IndexType > class tnlOneSideDiffOperatorQ { }; template< typename MeshReal, typename Device, typename MeshIndex, typename Real, typename Index > class tnlOneSideDiffOperatorQ< tnlGrid< 1,MeshReal, Device, MeshIndex >, Real, Index, 0 > class tnlOneSideDiffOperatorQ< tnlGrid< 1,MeshReal, Device, MeshIndex >, Real, Index > { public: Loading @@ -32,33 +29,23 @@ class tnlOneSideDiffOperatorQ< tnlGrid< 1,MeshReal, Device, MeshIndex >, Real, I static tnlString getType(); template< typename Vector > IndexType bind( Vector& u) { return 0; } __cuda_callable__ void update( const MeshType& mesh, const RealType& time ) {} template< typename MeshEntity, typename Vector > template< typename MeshFunction, typename MeshEntity > __cuda_callable__ Real getValue( Real operator()( const MeshFunction& u, const MeshEntity& entity, const Vector& u, const Real& time ) const; const Real& time = 0.0 ) const; template< typename MeshEntity, typename Vector > template< typename MeshFunction, typename MeshEntity > __cuda_callable__ Real getValueStriped( Real getValueStriped( const MeshFunction& u, const MeshEntity& entity, const Vector& u, const Real& time )const; const Real& time = 0.0 ) const; bool setEps(const Real& eps); private: RealType eps; RealType eps, epsSquare; }; Loading @@ -67,7 +54,7 @@ template< typename MeshReal, typename MeshIndex, typename Real, typename Index > class tnlOneSideDiffOperatorQ< tnlGrid< 2,MeshReal, Device, MeshIndex >, Real, Index, 0 > class tnlOneSideDiffOperatorQ< tnlGrid< 2,MeshReal, Device, MeshIndex >, Real, Index > { public: Loading @@ -79,80 +66,24 @@ class tnlOneSideDiffOperatorQ< tnlGrid< 2,MeshReal, Device, MeshIndex >, Real, I static tnlString getType(); template< typename Vector > IndexType bind( Vector& u) { return 0; } template< typename MeshFunction, typename MeshEntity > __cuda_callable__ void update( const MeshType& mesh, const RealType& time ) {} template< typename MeshEntity, typename Vector > __cuda_callable__ Real getValue( Real operator()( const MeshFunction& u, const MeshEntity& entity, const Vector& u, const Real& time ) const; template< typename MeshEntity, typename Vector > __cuda_callable__ Real getValueStriped( const MeshEntity& entity, const Vector& u, const Real& time )const; bool setEps(const Real& eps); private: RealType eps; }; template< typename MeshReal, typename Device, typename MeshIndex, typename Real, typename Index > class tnlOneSideDiffOperatorQ< tnlGrid< 3,MeshReal, Device, MeshIndex >, Real, Index, 0 > { public: const Real& time = 0.0 ) const; typedef tnlGrid< 3, MeshReal, Device, MeshIndex > MeshType; typedef typename MeshType::CoordinatesType CoordinatesType; typedef Real RealType; typedef Device DeviceType; typedef Index IndexType; static tnlString getType(); template< typename Vector > IndexType bind( Vector& u) { return 0; } template< typename MeshFunction, typename MeshEntity > __cuda_callable__ void update( const MeshType& mesh, const RealType& time ) {} template< typename MeshEntity, typename Vector > __cuda_callable__ Real getValue( Real getValueStriped( const MeshFunction& u, const MeshEntity& entity, const Vector& u, const Real& time ) const; template< typename MeshEntity, typename Vector > __cuda_callable__ Real getValueStriped( const MeshEntity& entity, const Vector& u, const Real& time ) const; const Real& time = 0.0 ) const; bool setEps(const Real& eps); void setEps( const Real& eps ); private: RealType eps; RealType eps, epsSquare; }; Loading @@ -161,104 +92,7 @@ template< typename MeshReal, typename MeshIndex, typename Real, typename Index > class tnlOneSideDiffOperatorQ< tnlGrid< 1,MeshReal, Device, MeshIndex >, Real, Index, 1 > { public: typedef tnlGrid< 1, MeshReal, Device, MeshIndex > MeshType; typedef typename MeshType::CoordinatesType CoordinatesType; typedef Real RealType; typedef Device DeviceType; typedef Index IndexType; static tnlString getType(); template< typename Vector > Index bind( Vector& u); __cuda_callable__ void update( const MeshType& mesh, const RealType& time ); template< typename MeshEntity, typename Vector > __cuda_callable__ Real getValue( const MeshEntity& entity, const Vector& u, const Real& time ) const; template< typename MeshEntity, typename Vector > __cuda_callable__ Real getValueStriped( const MeshEntity& entity, const Vector& u, const Real& time ) const; bool setEps(const Real& eps); private: tnlSharedVector< RealType, DeviceType, IndexType > u; tnlVector< RealType, DeviceType, IndexType> q; tnlVector< RealType, DeviceType, IndexType> qStriped; RealType eps; }; template< typename MeshReal, typename Device, typename MeshIndex, typename Real, typename Index > class tnlOneSideDiffOperatorQ< tnlGrid< 2,MeshReal, Device, MeshIndex >, Real, Index, 1 > { public: typedef tnlGrid< 2, MeshReal, Device, MeshIndex > MeshType; typedef typename MeshType::CoordinatesType CoordinatesType; typedef Real RealType; typedef Device DeviceType; typedef Index IndexType; typedef tnlSharedVector< RealType, DeviceType, IndexType > DofVectorType; static tnlString getType(); template< typename Vector > Index bind( Vector& u); __cuda_callable__ void update( const MeshType& mesh, const RealType& time ); template< typename MeshEntity, typename Vector > __cuda_callable__ Real getValue( const MeshEntity& entity, const Vector& u, const Real& time ) const; template< typename MeshEntity, typename Vector > __cuda_callable__ Real getValueStriped( const MeshType& mesh, const MeshEntity& entity, const Vector& u, const Real& time )const; bool setEps(const Real& eps); private: tnlSharedVector< RealType, DeviceType, IndexType > u; tnlVector< RealType, DeviceType, IndexType> q; tnlVector< RealType, DeviceType, IndexType> qStriped; RealType eps; }; template< typename MeshReal, typename Device, typename MeshIndex, typename Real, typename Index > class tnlOneSideDiffOperatorQ< tnlGrid< 3,MeshReal, Device, MeshIndex >, Real, Index, 1 > class tnlOneSideDiffOperatorQ< tnlGrid< 3, MeshReal, Device, MeshIndex >, Real, Index > { public: Loading @@ -270,34 +104,23 @@ class tnlOneSideDiffOperatorQ< tnlGrid< 3,MeshReal, Device, MeshIndex >, Real, I static tnlString getType(); template< typename Vector > Index bind( Vector& u); template< typename MeshFunction, typename MeshEntity > __cuda_callable__ void update( const MeshType& mesh, const RealType& time ); template< typename MeshEntity, typename Vector > __cuda_callable__ Real getValue( Real operator()( const MeshFunction& u, const MeshEntity& entity, const Vector& u, const Real& time ) const; const Real& time = 0.0 ) const; template< typename MeshEntity, typename Vector > template< typename MeshFunction, typename MeshEntity > __cuda_callable__ Real getValueStriped( Real getValueStriped( const MeshFunction& u, const MeshEntity& entity, const Vector& u, const Real& time ) const; bool setEps(const Real& eps); void setEps(const Real& eps); private: tnlSharedVector< RealType, DeviceType, IndexType > u; tnlVector< RealType, DeviceType, IndexType> q; tnlVector< RealType, DeviceType, IndexType> qStriped; RealType eps; RealType eps, epsSquare; }; #include <operators/operator-Q/tnlOneSideDiffOperatorQ_impl.h> Loading
src/operators/operator-Q/tnlOneSideDiffOperatorQ_impl.h +105 −343 File changed.Preview size limit exceeded, changes collapsed. Show changes