Loading src/problems/tnlPDEProblem.h +5 −0 Original line number Diff line number Diff line Loading @@ -66,6 +66,11 @@ class tnlPDEProblem : public tnlProblem< Real, Device, Index > DofVectorType& dofs, MeshDependentDataType& meshDependentData ); void setExplicitBoundaryConditions( const RealType& time, const MeshType& mesh, DofVectorType& dofs, MeshDependentDataType& meshDependentData ); bool postIterate( const RealType& time, const RealType& tau, const MeshType& mesh, Loading src/problems/tnlPDEProblem_impl.h +14 −0 Original line number Diff line number Diff line Loading @@ -107,6 +107,20 @@ preIterate( const RealType& time, return true; } template< typename Mesh, typename Real, typename Device, typename Index > void tnlPDEProblem< Mesh, Real, Device, Index >:: setExplicitBoundaryConditions( const RealType& time, const MeshType& mesh, DofVectorType& dofs, MeshDependentDataType& meshDependentData ) { } template< typename Mesh, typename Real, typename Device, Loading src/solvers/pde/tnlExplicitTimeStepper_impl.h +2 −0 Original line number Diff line number Diff line Loading @@ -128,6 +128,7 @@ solve( const RealType& time, this->meshDependentData = &meshDependentData; if( ! this->odeSolver->solve( dofVector ) ) return false; this->problem->setExplicitBoundaryConditions( stopTime, *( this->mesh ), dofVector, *( this->meshDependentData ) ); mainTimer.stop(); this->allIterations += this->odeSolver->getIterations(); return true; Loading Loading @@ -155,6 +156,7 @@ getExplicitRHS( const RealType& time, } this->preIterateTimer.stop(); this->explicitUpdaterTimer.start(); this->problem->setExplicitBoundaryConditions( time, *( this->mesh ), u, *( this->meshDependentData ) ); this->problem->getExplicitRHS( time, tau, *( this->mesh ), u, fu, *( this->meshDependentData ) ); this->explicitUpdaterTimer.stop(); this->postIterateTimer.start(); Loading Loading
src/problems/tnlPDEProblem.h +5 −0 Original line number Diff line number Diff line Loading @@ -66,6 +66,11 @@ class tnlPDEProblem : public tnlProblem< Real, Device, Index > DofVectorType& dofs, MeshDependentDataType& meshDependentData ); void setExplicitBoundaryConditions( const RealType& time, const MeshType& mesh, DofVectorType& dofs, MeshDependentDataType& meshDependentData ); bool postIterate( const RealType& time, const RealType& tau, const MeshType& mesh, Loading
src/problems/tnlPDEProblem_impl.h +14 −0 Original line number Diff line number Diff line Loading @@ -107,6 +107,20 @@ preIterate( const RealType& time, return true; } template< typename Mesh, typename Real, typename Device, typename Index > void tnlPDEProblem< Mesh, Real, Device, Index >:: setExplicitBoundaryConditions( const RealType& time, const MeshType& mesh, DofVectorType& dofs, MeshDependentDataType& meshDependentData ) { } template< typename Mesh, typename Real, typename Device, Loading
src/solvers/pde/tnlExplicitTimeStepper_impl.h +2 −0 Original line number Diff line number Diff line Loading @@ -128,6 +128,7 @@ solve( const RealType& time, this->meshDependentData = &meshDependentData; if( ! this->odeSolver->solve( dofVector ) ) return false; this->problem->setExplicitBoundaryConditions( stopTime, *( this->mesh ), dofVector, *( this->meshDependentData ) ); mainTimer.stop(); this->allIterations += this->odeSolver->getIterations(); return true; Loading Loading @@ -155,6 +156,7 @@ getExplicitRHS( const RealType& time, } this->preIterateTimer.stop(); this->explicitUpdaterTimer.start(); this->problem->setExplicitBoundaryConditions( time, *( this->mesh ), u, *( this->meshDependentData ) ); this->problem->getExplicitRHS( time, tau, *( this->mesh ), u, fu, *( this->meshDependentData ) ); this->explicitUpdaterTimer.stop(); this->postIterateTimer.start(); Loading