Partitioning techniques and their parallelization for stiff system of ordinary differential equations - Othman, Khairil Iskandar (2007)
A new code based on variable order and variable stepsize component wise partitioning is introduced to solve a system of equations dynamically. In previous partitioning technique researches, once an equation is identified as stiff, it will remain in stiff subsystem until the integration is completed. In this current technique, the system is treated as nonstiff and any equation that caused stiffness will be treated as stiff equation. However, should the characteristics showed the elements of nonstiffness, and then it will be treated again with Adam method. This process will continue switching from stiff to nonstiff vice versa whenever it is necessary until the interval of integration is completed.Next, a block method with R-points generate R new approximate solution values;is a strategy for solving a system and also for parallelizing ODEs. Partitioning this block method to solve stiff differential equations is a new strategy; it is more efficient and takes less computational time compared to the sequential methods. Two partitioning techniques are constructed, Intervalwise Block Partitioning (IBP) and Componentwise Block Partitioning (CBP). Numerical results are compared as validation of its effectiveness. Intervalwise block partitioning will initially treat the systems of equations as nonstiff and solve them using Adams method, by switching to the Backward Differentiation formula when there is a step failure and indication of stiffness. Componentwise block partitioning will place the necessary equations that cause instability and stiffness into the stiff subsystem and solve using Backward Differentiation Formula, while all other equations will still be treated as non-stiff and solved using Adams formula. Parallelizing the partitioning strategies using Message Passing Interface (MPI) is the most appropriate method to solve large system of equations. Parallelizing the right algorithm in the partitioning code will give a better perfonnance with shorter execution times. The graphs of its performance and execution time, visualize the advantages of parallelizing.