Loading src/functions/tnlOperatorFunction.h +3 −3 Original line number Diff line number Diff line Loading @@ -221,7 +221,7 @@ class tnlOperatorFunction< Operator, PreimageFunction, BoundaryConditions, false static constexpr int getEntitiesDimensions() { return OperatorType::getImageEntitiesDimensions(); }; tnlOperatorFunction( const OperatorType& operator_, OperatorType& operator_, const BoundaryConditionsType& boundaryConditions, PreimageFunctionType& preimageFunction ) : operator_( operator_ ), boundaryConditions( boundaryConditions ), preimageFunction( preimageFunction ), imageFunction( preimageFunction.getMesh() ) Loading @@ -240,7 +240,7 @@ class tnlOperatorFunction< Operator, PreimageFunction, BoundaryConditions, false bool refresh( const RealType& time = 0.0 ) { OperatorFunction operatorFunction( this->operator_, this->preimageFunction ); if( ! this->operator_.refresh() || if( ! this->operator_.refresh( time ) || ! operatorFunction.refresh( time ) ) return false; this->imageFunction = operatorFunction; Loading Loading @@ -278,7 +278,7 @@ class tnlOperatorFunction< Operator, PreimageFunction, BoundaryConditions, false protected: const Operator& operator_; Operator& operator_; PreimageFunctionType& preimageFunction; Loading src/operators/tnlOperator.h +7 −3 Original line number Diff line number Diff line Loading @@ -30,14 +30,18 @@ class tnlOperator : public tnlDomain< Mesh::getMeshDimensions(), DomainType > public: typedef Mesh MeshType; typedef typename MeshType::RealType RealType; typedef typename MeshType::RealType MeshRealType; typedef typename MeshType::DeviceType DeviceType; typedef typename MeshType::IndexType IndexType; typedef typename MeshType::IndexType MeshIndexType; typedef Real RealType; typedef Index IndexType; constexpr static int getDomainEntitiesDimensions() { return DomainEntitiesDimensions; } constexpr static int getImageEntitiesDimensions() { return ImageEntitiesDimensions; } void refresh() {} bool refresh( const RealType& time = 0.0 ) { return true; } bool deepRefresh( const RealType& time = 0.0 ) { return true; } }; #endif /* TNLOPERATOR_H */ src/operators/tnlOperatorComposition.h +7 −3 Original line number Diff line number Diff line Loading @@ -50,7 +50,7 @@ class tnlOperatorComposition static constexpr int getImageEntitiesDimensions() { return OuterOperator::getImageEntitiesDimensions(); }; tnlOperatorComposition( const OuterOperator& outerOperator, const InnerOperator& innerOperator, InnerOperator& innerOperator, const InnerBoundaryConditions& innerBoundaryConditions, PreimageFunctionType& preimageFunction ) : outerOperator( outerOperator ), Loading @@ -68,18 +68,22 @@ class tnlOperatorComposition bool refresh( const RealType& time = 0.0 ) { return this->innerOperatorFunction.refresh( time ); if( ! this->innerOperatorFunction.refresh( time ) ) return false; typename InnerOperatorFunction::ImageFunctionType imageFunction( this->innerOperatorFunction.getMesh() ); imageFunction = this->innerOperatorFunction; imageFunction.write( "innerFunction" ); return true; } bool deepRefresh( const RealType& time = 0.0 ) { return this->innerOperatorFunction.deepRefresh( time ); if( ! this->innerOperatorFunction.deepRefresh( time ) ) return false; typename InnerOperatorFunction::ImageFunctionType imageFunction( this->innerOperatorFunction.getMesh() ); imageFunction = this->innerOperatorFunction; imageFunction.write( "innerFunction" ); return true; } template< typename MeshFunction, typename MeshEntity > Loading Loading
src/functions/tnlOperatorFunction.h +3 −3 Original line number Diff line number Diff line Loading @@ -221,7 +221,7 @@ class tnlOperatorFunction< Operator, PreimageFunction, BoundaryConditions, false static constexpr int getEntitiesDimensions() { return OperatorType::getImageEntitiesDimensions(); }; tnlOperatorFunction( const OperatorType& operator_, OperatorType& operator_, const BoundaryConditionsType& boundaryConditions, PreimageFunctionType& preimageFunction ) : operator_( operator_ ), boundaryConditions( boundaryConditions ), preimageFunction( preimageFunction ), imageFunction( preimageFunction.getMesh() ) Loading @@ -240,7 +240,7 @@ class tnlOperatorFunction< Operator, PreimageFunction, BoundaryConditions, false bool refresh( const RealType& time = 0.0 ) { OperatorFunction operatorFunction( this->operator_, this->preimageFunction ); if( ! this->operator_.refresh() || if( ! this->operator_.refresh( time ) || ! operatorFunction.refresh( time ) ) return false; this->imageFunction = operatorFunction; Loading Loading @@ -278,7 +278,7 @@ class tnlOperatorFunction< Operator, PreimageFunction, BoundaryConditions, false protected: const Operator& operator_; Operator& operator_; PreimageFunctionType& preimageFunction; Loading
src/operators/tnlOperator.h +7 −3 Original line number Diff line number Diff line Loading @@ -30,14 +30,18 @@ class tnlOperator : public tnlDomain< Mesh::getMeshDimensions(), DomainType > public: typedef Mesh MeshType; typedef typename MeshType::RealType RealType; typedef typename MeshType::RealType MeshRealType; typedef typename MeshType::DeviceType DeviceType; typedef typename MeshType::IndexType IndexType; typedef typename MeshType::IndexType MeshIndexType; typedef Real RealType; typedef Index IndexType; constexpr static int getDomainEntitiesDimensions() { return DomainEntitiesDimensions; } constexpr static int getImageEntitiesDimensions() { return ImageEntitiesDimensions; } void refresh() {} bool refresh( const RealType& time = 0.0 ) { return true; } bool deepRefresh( const RealType& time = 0.0 ) { return true; } }; #endif /* TNLOPERATOR_H */
src/operators/tnlOperatorComposition.h +7 −3 Original line number Diff line number Diff line Loading @@ -50,7 +50,7 @@ class tnlOperatorComposition static constexpr int getImageEntitiesDimensions() { return OuterOperator::getImageEntitiesDimensions(); }; tnlOperatorComposition( const OuterOperator& outerOperator, const InnerOperator& innerOperator, InnerOperator& innerOperator, const InnerBoundaryConditions& innerBoundaryConditions, PreimageFunctionType& preimageFunction ) : outerOperator( outerOperator ), Loading @@ -68,18 +68,22 @@ class tnlOperatorComposition bool refresh( const RealType& time = 0.0 ) { return this->innerOperatorFunction.refresh( time ); if( ! this->innerOperatorFunction.refresh( time ) ) return false; typename InnerOperatorFunction::ImageFunctionType imageFunction( this->innerOperatorFunction.getMesh() ); imageFunction = this->innerOperatorFunction; imageFunction.write( "innerFunction" ); return true; } bool deepRefresh( const RealType& time = 0.0 ) { return this->innerOperatorFunction.deepRefresh( time ); if( ! this->innerOperatorFunction.deepRefresh( time ) ) return false; typename InnerOperatorFunction::ImageFunctionType imageFunction( this->innerOperatorFunction.getMesh() ); imageFunction = this->innerOperatorFunction; imageFunction.write( "innerFunction" ); return true; } template< typename MeshFunction, typename MeshEntity > Loading