1!------------------------------------------------------------------------------2SUBROUTINE TimeIntTest_Init( Model,Solver,dt,TransientSimulation )3!------------------------------------------------------------------------------4USE DefUtils56IMPLICIT NONE7!------------------------------------------------------------------------------8TYPE(Solver_t) :: Solver9TYPE(Model_t) :: Model1011REAL(KIND=dp) :: dt12LOGICAL :: TransientSimulation13!------------------------------------------------------------------------------14CALL ListAddInteger( GetSolverParams(), 'Time Derivative Order', 2 )15!------------------------------------------------------------------------------16END SUBROUTINE TimeIntTest_Init17!------------------------------------------------------------------------------181920!------------------------------------------------------------------------------21SUBROUTINE TimeIntTest( Model,Solver,dt,TransientSimulation )22!------------------------------------------------------------------------------23USE DefUtils2425IMPLICIT NONE26!------------------------------------------------------------------------------27TYPE(Solver_t) :: Solver28TYPE(Model_t) :: Model2930REAL(KIND=dp) :: dt31LOGICAL :: TransientSimulation32!------------------------------------------------------------------------------33! Local variables34!------------------------------------------------------------------------------35TYPE(Element_t),POINTER :: Element3637LOGICAL :: Found3839INTEGER :: n40REAL(KIND=dp) :: Norm4142TYPE(ValueList_t), POINTER :: BodyForce43REAL(KIND=dp) :: STIFF(1,1), MASS(1,1), DAMP(1,1), LOAD(1), FORCE(1)44!------------------------------------------------------------------------------4546!Initialize the system and do the assembly:47!------------------------------------------48CALL DefaultInitialize()4950Element => GetActiveElement(1)51n = GetElementNOFNodes()52LOAD = 0.0d05354BodyForce => GetBodyForce()55IF ( ASSOCIATED(BodyForce) ) &56Load(1:n) = GetReal( BodyForce, 'Source', Found )5758!Get element local matrix and rhs vector:59!----------------------------------------60STIFF = 0.0d061DAMP = 0.0d062MASS = 1.0d063FORCE = Load6465!Update global matrix and rhs vector from local matrix & vector:66!---------------------------------------------------------------67CALL Default2ndOrderTime( MASS, DAMP, STIFF, FORCE )68CALL DefaultUpdateEquations( STIFF, FORCE )69CALL DefaultFinishBulkAssembly()70CALL DefaultFinishBoundaryAssembly()71CALL DefaultFinishAssembly()72!73! Solve the system and we are done:74! ---------------------------------75Norm = DefaultSolve()76!------------------------------------------------------------------------------7778!------------------------------------------------------------------------------79END SUBROUTINE TimeIntTest80!------------------------------------------------------------------------------818283