Author Topic: The Implementation of An Explicit Time Integrator  (Read 6408 times)

hustzjy312

  • Jr. Member
  • **
  • Posts: 29
The Implementation of An Explicit Time Integrator
« on: May 25, 2015, 08:50:01 AM »
Dear All,

I want to implement an explicit time integrator in FEAP. I first need to get access to the global mass matrix (M) and stiffness matrix (K), and then use them to define the parameter of the time integrator, which is like this: inv[I+inv(M)K]. Here "inv" represents the inverse of a matrix, and I denotes an identify matrix. What is the best way in FEAP to achieve this?

In addition, when using the command "Form,Expl" in FEAP, does this command solve for the acceleration like this a=inv(M)R, where R=external dynamic load - internal load?

According to the manual, the built-in explicit time integrator in FEAP can not be used for the dynamic system with consistent mass or damping. Is it possible for me to form a residual that includes the damping force and then solve it using consistent mass matrix, for an explicit time integrator in FEAP?

Thanks,

Yang

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2649
Re: The Implementation of An Explicit Time Integrator
« Reply #1 on: May 25, 2015, 09:26:01 AM »
Currently, it is not possible to do an explicit analysis using a consistent mass.  One might ask why would you want to do this since it involves the solution of equations at each time step?  One could do almost explicit using the TRANs NEWMark method and set the 'beta' parameter to 0.00001 or some small number.

To do the explicit form you describe you need to program a user solution command (umacr*.f routine).  You can follow what is done for the expicit solution in 'pmacr1.f' and implement your modified routine.

Your algorithm can be rewritten too:

Let A = I + M^-1 K = M^-1 * (M + K)
then A^-1 = (M + K)^-1 * M

Seems a bit strange as a method though as dimensions don't match??

hustzjy312

  • Jr. Member
  • **
  • Posts: 29
Re: The Implementation of An Explicit Time Integrator
« Reply #2 on: May 25, 2015, 10:27:38 AM »
Dear Prof. Taylor, thanks for the reply.

The reason that I am interested in this explicit time integrator is that this method has been proven to be unconditional stable for linear and geometrically softening nonlinear problems. When this explicit time integrator is applied to a geometrically nonlinear system, it doesn't need to inverse the stiffness matrix and do iterations for solving the displacement within a time step.

For geometrically nonlinear problems, the mass matrix of such system doesn't change as the time varies. Therefore, I think I only need to inverse the mass matrix once at the beginning of the simulation and store the factorized mass matrix for the following simulation. I want this method is also applicable for systems with consistent mass matrix and damping (Although strictly speaking, the method is not explicit in this case).

I just read the pmacr1.f, do you mean that if I want to include the damping force in the residual for a user explicit time integrator, I just need to form the residual in the way that implicit time integrators use ("call formfe(np(40),np(26),na,nal,tr,tr,fa,fa,3,1,numel,1)")? In addition, would you please let me know how to write a user solve command to solve for acceleration of the explicit time integrator with consistent mass matrix? I know that for the implicit time integrator the "solve" command solves displacement increment in this way: du=tang^-1 * R, where tang=c1*K+c2*C+c3*M.

Thanks for providing the rewritten form of the parameter A=(M+K)-1  *M. I forgot to mention that the parameter A needs to multiply the displacement, velocity or the acceleration in the time integration. The algorithmic parameter A here is a matrix rather than a scalar for multiple-degree-of-freedom systems. Moreover, when calculating the parameter A, the K is the initial stiffness matrix of the system. It is therefore only needed to calculate A once at the beginning of the simulation.

Thank you very much again and I really appreciate your help.

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2649
Re: The Implementation of An Explicit Time Integrator
« Reply #3 on: May 25, 2015, 11:34:43 AM »
Do you have a reference for this integrator?

hustzjy312

  • Jr. Member
  • **
  • Posts: 29
Re: The Implementation of An Explicit Time Integrator
« Reply #4 on: June 05, 2015, 09:13:14 AM »
Dear Prof. Taylor,

Would you please give me any update?

Thanks a lot and Best regards,

Yang

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2649
Re: The Implementation of An Explicit Time Integrator
« Reply #5 on: June 05, 2015, 09:54:56 AM »
To me the method is not fully explicit -- unless I did not understand all the steps.  The updates for the displacement and velocity involve matrix expressions which will be costly for any decent sized problems.  My understanding of an efficient explicit method is:

1. Updates for displacement and velocity should involve only scalar coefficients.

2. Computation of acceleration does not involve more than a block diagonal matrix (either on nodes or on elements -- for example, a Discontinuous Galerkin (DG) method inverts the mass on "elements").

To implement the method in the paper you cite will involve considerable coding which I would not undertake!