Loading src/functions/tnlTestFunction_impl.h +18 −18 Original line number Diff line number Diff line Loading @@ -291,31 +291,31 @@ getPartialDerivative( const VertexType& vertex, { case constant: return scale * ( ( tnlConstantFunction< Dimensions, Real >* ) function )-> getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); template getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); case expBump: return scale * ( ( tnlExpBumpFunction< Dimensions, Real >* ) function )-> getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); template getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); case sinBumps: return scale * ( ( tnlSinBumpsFunction< Dimensions, Real >* ) function )-> getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); template getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); case sinWave: return scale * ( ( tnlSinWaveFunction< Dimensions, Real >* ) function )-> getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); template getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); case cylinder: return scale * ( ( tnlCylinderFunction< Dimensions, Real >* ) function )-> getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); template getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); case flowerpot: return scale * ( ( tnlFlowerpotFunction< Dimensions, Real >* ) function )-> getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); template getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); case twins: return scale * ( ( tnlTwinsFunction< Dimensions, Real >* ) function )-> getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); template getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); case pseudoSquare: return scale * ( ( tnlPseudoSquareFunction< Dimensions, Real >* ) function )-> getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); template getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); case blob: return scale * ( ( tnlBlobFunction< Dimensions, Real >* ) function )-> getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); template getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); default: return 0.0; } Loading Loading @@ -476,17 +476,17 @@ tnlTestFunction< FunctionDimensions, Real, Device >:: printFunction( ostream& str ) const { FunctionType* f = ( FunctionType* ) this->function; switch( Device::DeviceType ) if( std::is_same< Device, tnlHost >::value ) { case tnlHostDevice: str << *f; return str; case tnlCudaDevice: } if( std::is_same< Device, tnlCuda >::value ) { tnlCuda::print( f, str ); return str; default: return str; } return str; } template< int FunctionDimensions, Loading src/solvers/pde/tnlExplicitTimeStepper.h +2 −0 Original line number Diff line number Diff line Loading @@ -86,6 +86,8 @@ class tnlExplicitTimeStepper MeshDependentDataType* meshDependentData; tnlTimerRT explicitUpdaterTimer, mainTimer; long long int allIterations; }; #include <solvers/pde/tnlExplicitTimeStepper_impl.h> Loading src/solvers/pde/tnlExplicitTimeStepper_impl.h +7 −2 Original line number Diff line number Diff line Loading @@ -27,7 +27,8 @@ tnlExplicitTimeStepper< Problem, OdeSolver >:: tnlExplicitTimeStepper() : odeSolver( 0 ), problem( 0 ), timeStep( 0 ) timeStep( 0 ), allIterations( 0 ) { }; Loading Loading @@ -123,8 +124,11 @@ solve( const RealType& time, this->odeSolver->setMaxTau( ( stopTime - time ) / ( typename OdeSolver< Problem >::RealType ) this->odeSolver->getMinIterations() ); this->mesh = &mesh; this->meshDependentData = &meshDependentData; return this->odeSolver->solve( dofVector ); if( ! this->odeSolver->solve( dofVector ) ) return false; mainTimer.stop(); this->allIterations += this->odeSolver->getIterations(); return true; } template< typename Problem, Loading Loading @@ -167,6 +171,7 @@ bool tnlExplicitTimeStepper< Problem, OdeSolver >:: writeEpilog( tnlLogger& logger ) { logger.writeParameter< long long int >( "Ierations count:", this->allIterations ); logger.writeParameter< double >( "Explicit update computation time:", this->explicitUpdaterTimer.getTime() ); logger.writeParameter< double >( "Explicit time stepper time:", this->mainTimer.getTime() ); return true; Loading src/solvers/pde/tnlSemiImplicitTimeStepper.h +2 −0 Original line number Diff line number Diff line Loading @@ -83,6 +83,8 @@ class tnlSemiImplicitTimeStepper tnlTimerRT preIterateTimer, linearSystemAssemblerTimer, linearSystemSolverTimer, postIterateTimer; bool verbose; long long int allIterations; }; #include <solvers/pde/tnlSemiImplicitTimeStepper_impl.h> Loading src/solvers/pde/tnlSemiImplicitTimeStepper_impl.h +8 −2 Original line number Diff line number Diff line Loading @@ -20,13 +20,16 @@ #include <core/mfuncs.h> #include "tnlSemiImplicitTimeStepper.h" template< typename Problem, typename LinearSystemSolver > tnlSemiImplicitTimeStepper< Problem, LinearSystemSolver >:: tnlSemiImplicitTimeStepper() : problem( 0 ), linearSystemSolver( 0 ), timeStep( 0 ) timeStep( 0 ), allIterations( 0 ) { }; Loading Loading @@ -75,6 +78,7 @@ init( const MeshType& mesh ) return false; this->linearSystemAssemblerTimer.reset(); this->linearSystemSolverTimer.reset(); this->allIterations = 0; return true; } Loading Loading @@ -187,6 +191,7 @@ solve( const RealType& time, return false; } this->linearSystemSolverTimer.stop(); this->allIterations += this->linearSystemSolver->getIterations(); //if( verbose ) // cout << endl; Loading Loading @@ -214,6 +219,7 @@ bool tnlSemiImplicitTimeStepper< Problem, LinearSystemSolver >:: writeEpilog( tnlLogger& logger ) { logger.writeParameter< long long int >( "Ierations count:", this->allIterations ); logger.writeParameter< double >( "Pre-iterate time:", this->preIterateTimer.getTime() ); logger.writeParameter< double >( "Linear system assembler time:", this->linearSystemAssemblerTimer.getTime() ); logger.writeParameter< double >( "Linear system solver time:", this->linearSystemSolverTimer.getTime() ); Loading Loading
src/functions/tnlTestFunction_impl.h +18 −18 Original line number Diff line number Diff line Loading @@ -291,31 +291,31 @@ getPartialDerivative( const VertexType& vertex, { case constant: return scale * ( ( tnlConstantFunction< Dimensions, Real >* ) function )-> getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); template getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); case expBump: return scale * ( ( tnlExpBumpFunction< Dimensions, Real >* ) function )-> getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); template getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); case sinBumps: return scale * ( ( tnlSinBumpsFunction< Dimensions, Real >* ) function )-> getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); template getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); case sinWave: return scale * ( ( tnlSinWaveFunction< Dimensions, Real >* ) function )-> getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); template getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); case cylinder: return scale * ( ( tnlCylinderFunction< Dimensions, Real >* ) function )-> getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); template getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); case flowerpot: return scale * ( ( tnlFlowerpotFunction< Dimensions, Real >* ) function )-> getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); template getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); case twins: return scale * ( ( tnlTwinsFunction< Dimensions, Real >* ) function )-> getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); template getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); case pseudoSquare: return scale * ( ( tnlPseudoSquareFunction< Dimensions, Real >* ) function )-> getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); template getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); case blob: return scale * ( ( tnlBlobFunction< Dimensions, Real >* ) function )-> getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); template getPartialDerivative< XDiffOrder, YDiffOrder, ZDiffOrder >( vertex, time ); default: return 0.0; } Loading Loading @@ -476,17 +476,17 @@ tnlTestFunction< FunctionDimensions, Real, Device >:: printFunction( ostream& str ) const { FunctionType* f = ( FunctionType* ) this->function; switch( Device::DeviceType ) if( std::is_same< Device, tnlHost >::value ) { case tnlHostDevice: str << *f; return str; case tnlCudaDevice: } if( std::is_same< Device, tnlCuda >::value ) { tnlCuda::print( f, str ); return str; default: return str; } return str; } template< int FunctionDimensions, Loading
src/solvers/pde/tnlExplicitTimeStepper.h +2 −0 Original line number Diff line number Diff line Loading @@ -86,6 +86,8 @@ class tnlExplicitTimeStepper MeshDependentDataType* meshDependentData; tnlTimerRT explicitUpdaterTimer, mainTimer; long long int allIterations; }; #include <solvers/pde/tnlExplicitTimeStepper_impl.h> Loading
src/solvers/pde/tnlExplicitTimeStepper_impl.h +7 −2 Original line number Diff line number Diff line Loading @@ -27,7 +27,8 @@ tnlExplicitTimeStepper< Problem, OdeSolver >:: tnlExplicitTimeStepper() : odeSolver( 0 ), problem( 0 ), timeStep( 0 ) timeStep( 0 ), allIterations( 0 ) { }; Loading Loading @@ -123,8 +124,11 @@ solve( const RealType& time, this->odeSolver->setMaxTau( ( stopTime - time ) / ( typename OdeSolver< Problem >::RealType ) this->odeSolver->getMinIterations() ); this->mesh = &mesh; this->meshDependentData = &meshDependentData; return this->odeSolver->solve( dofVector ); if( ! this->odeSolver->solve( dofVector ) ) return false; mainTimer.stop(); this->allIterations += this->odeSolver->getIterations(); return true; } template< typename Problem, Loading Loading @@ -167,6 +171,7 @@ bool tnlExplicitTimeStepper< Problem, OdeSolver >:: writeEpilog( tnlLogger& logger ) { logger.writeParameter< long long int >( "Ierations count:", this->allIterations ); logger.writeParameter< double >( "Explicit update computation time:", this->explicitUpdaterTimer.getTime() ); logger.writeParameter< double >( "Explicit time stepper time:", this->mainTimer.getTime() ); return true; Loading
src/solvers/pde/tnlSemiImplicitTimeStepper.h +2 −0 Original line number Diff line number Diff line Loading @@ -83,6 +83,8 @@ class tnlSemiImplicitTimeStepper tnlTimerRT preIterateTimer, linearSystemAssemblerTimer, linearSystemSolverTimer, postIterateTimer; bool verbose; long long int allIterations; }; #include <solvers/pde/tnlSemiImplicitTimeStepper_impl.h> Loading
src/solvers/pde/tnlSemiImplicitTimeStepper_impl.h +8 −2 Original line number Diff line number Diff line Loading @@ -20,13 +20,16 @@ #include <core/mfuncs.h> #include "tnlSemiImplicitTimeStepper.h" template< typename Problem, typename LinearSystemSolver > tnlSemiImplicitTimeStepper< Problem, LinearSystemSolver >:: tnlSemiImplicitTimeStepper() : problem( 0 ), linearSystemSolver( 0 ), timeStep( 0 ) timeStep( 0 ), allIterations( 0 ) { }; Loading Loading @@ -75,6 +78,7 @@ init( const MeshType& mesh ) return false; this->linearSystemAssemblerTimer.reset(); this->linearSystemSolverTimer.reset(); this->allIterations = 0; return true; } Loading Loading @@ -187,6 +191,7 @@ solve( const RealType& time, return false; } this->linearSystemSolverTimer.stop(); this->allIterations += this->linearSystemSolver->getIterations(); //if( verbose ) // cout << endl; Loading Loading @@ -214,6 +219,7 @@ bool tnlSemiImplicitTimeStepper< Problem, LinearSystemSolver >:: writeEpilog( tnlLogger& logger ) { logger.writeParameter< long long int >( "Ierations count:", this->allIterations ); logger.writeParameter< double >( "Pre-iterate time:", this->preIterateTimer.getTime() ); logger.writeParameter< double >( "Linear system assembler time:", this->linearSystemAssemblerTimer.getTime() ); logger.writeParameter< double >( "Linear system solver time:", this->linearSystemSolverTimer.getTime() ); Loading