## 4 Implementation of the Explicit Finite Element Method in OpenSees  
The FEM been embedded in the open-source OpenSees software. The calculation does not require solving simultaneous equations but rather solving three uncoupled equations corresponding to the three DOFs (\(\mathbf{u}_{k\times}\), \(\mathbf{u}_{k\times}\), \(p\)) of the node. The dynamic equations \(\mathbf{AX}=\mathbf{B}\)[45; 46] can be computed in OpenSees by selecting a suitable _algorithm_ and _integrator_. The explicit temporal integration method UPExplicitdifference, the algorithm UPExplicitNR, and the equation solver ExplicitLinSOESolver are also added, respectively, and FourNodeQuadUP element for diagonalizing the mass matrix \(\mathbf{M}\) and fluid compressibility matrix \(\mathbf{S}\) of elements are added in the software.  
The equivalent equations of Equations (11) and (12) are expressed as follows:  
\[\widetilde{\mathbf{K}}_{k}\,\widetilde{v}_{k}^{t+1}\ \ =\widetilde{\mathbf{F}}_{k} \tag{15}\]  
where  
\[\widetilde{\mathbf{F}}_{k}=\mathbf{F}_{k}-\mathbf{R}_{k}-\overline{\mathbf{M}}_{k}\widetilde{ \widetilde{v}}^{t}\ \ -\ \overline{\mathbf{C}}_{k}\widetilde{\widetilde{v}}^{t} \tag{16}\]\[\widetilde{K}_{k}=\left[\begin{array}{cc}M_{dk}&\mathbf{0}\\ \mathbf{0}&-S_{dk}\end{array}\right],\widetilde{\mathbf{C}}_{k}=\left[\begin{array} []{cc}\mathbf{0}&-Q_{k}\\ -Q_{k}^{T}&-H_{k}\end{array}\right],\boldsymbol{F}_{k}=\left\{\begin{array}{ cc}f_{uk}^{t}\\ -f_{qk}^{t}\end{array}\right\} \tag{17}\]  
\[\widetilde{v}_{k}^{t+1}\ \ =\left\{\begin{array}{c}\frac{u_{k}^{t+1}}{\Delta t^{t}} \\ \frac{p_{k}^{t+1}}{\Delta t}\end{array}\right\},\dot{\widetilde{v}}^{t}\ \ =\ \left\{\begin{array}{c}\frac{u^{t}-u^{t}-u^{t}}{\Delta t}\\ p^{t}\end{array}\right\},\ddot{\widetilde{v}}^{t}\ \ =\ \left\{\begin{array}{c}\frac{u^{t}-u^{t}-2u^{t}}{ \Delta t^{t}}\\ -\frac{p^{t}}{\Delta t}\end{array}\right\} \tag{18}\]  
where \(\widetilde{K}\) in Equation (15) is a diagonal matrix. The dynamic responses of node \(k\) are calculated by only the three equations corresponding to the three DOFs (\(u_{\text{sk}}\), \(u_{\text{yk}}\), \(p_{\text{k}}\)) in Equation (15):  
\[\left\{\begin{array}{cc}M_{dk,x}\ \widetilde{v}_{k,x}^{t+1}&=\widetilde{F}_{k,x} \\ M_{dk,y}\ \widetilde{v}_{k,y}^{t+1}&=\widetilde{F}_{k,y}\\ -S_{dk}\ \widetilde{v}_{k,p}^{t+1}&=\widetilde{F}_{k,p}\end{array}\right. \tag{19}\]  
Equation (19) is the equivalent form to Equations (11) and (12). The displacements and pore pressure of the node \(k\) at time \(t+1\) are obtained by Equation (19).  
\[\left\{\begin{array}{c}u_{k,x}^{t+1}\\ u_{k,y}^{t+1}\\ p_{k}^{t+1}\end{array}\right\}=\left\{\begin{array}{c}\Delta t^{2}\cdot \widetilde{v}_{k,x}^{t+1}\\ \Delta t^{2}\cdot\widetilde{v}_{k,y}^{t+1}\\ \Delta t\cdot\widetilde{v}_{k,p}^{t+1}\end{array}\right\} \tag{20}\]  
The dynamic responses of the global domain at any time can be obtained by solving of Equation (19) of all nodes. The computational flowchart of the proposed explicit FEM in OpenSees is shown in Figure 2. In space domain, the proposed algorithm UPExplicitNR is used to construct individual finite element equation of the local node system, and results of the whole system are obtained by cycling all the nodes based on UPExplicitNR. In time domain, the explicit temporal integration method UPExplicitdifference is used to compute the results in every time step.  
Figure 2: Computational flowchart of the explicit method.  
The proposed algorithm has a much lower computational efficiency than implicit methods for problems with a small DOFs. However, for the problems with a large DOFs or strong nonlinear problems, the proposed method does not require the solving of simultaneous equations, only computing three decoupled equations for each node, and no nonlinear iterative computation is performed within a suitable time step. Therefore, the efficiency of the proposed method is improved significantly, and the computational memory is saved.