## 2 Fundamental Theory of Obliquely Incident P Waves
### Equivalent Forces Input Method for P Waves  
The wave program for semi-infinite space, employed to compute the equivalent forces of P waves under oblique incidence, can be compiled using the spring-damping artificial boundary. The equivalent forces on node \(l\) (\(F_{l}\)) can be determined using the input displacement and velocity time histories, as detailed in studies by [PERSON] et al. [32] and [PERSON] et al. [36], expressed as  
\[F_{l}=\mathbf{K}_{l}\cdot\mathbf{u}_{l}+\mathbf{C}_{l}\cdot\dot{\mathbf{u}}_{l}+\mathbf{\sigma}_{ l}\cdot\mathbf{n}\cdot A_{l}, \tag{3}\]  
Figure 1: Main flowchart of this study.  
where \(\mathbf{u}_{l}\) and \(\dot{\mathbf{u}}_{l}\) denote the displacement and velocity terms of the incident wave field, respectively, \(\mathbf{\sigma}_{l}\) denotes the stress vector of the free field, \(\mathbf{K}_{l}\) and \(\mathbf{C}_{l}\) denote parameter matrices that can be expanded into different forms in the \(x\) and \(y\) directions for each boundary, and \(\mathbf{n}\) denotes the cosine vector of the outer normal of each boundary surface (which depends on the node boundary).  
For different boundaries, each physical quantity (including the spring and damping matrices) can be substituted into Equation (3), the stress term can be derived based on the force at each boundary, and subsequently, the equivalent forces in the \(x\) and \(y\) direction (\(F_{x}\), \(F_{y}\)) can be presented as below:  
\[\left\{\begin{array}{ll}F_{x}^{b}(t,x,y)=K_{t}u_{x}+C_{t}\dot{u}_{x}-(\tau_{ xyp}^{i}+\tau_{xyp}^{r}+\tau_{xysp}^{r})A_{l}&\\ F_{y}^{b}(t,x,y)=K_{n}u_{y}+C_{n}\dot{u}_{y}-(\sigma_{yp}^{i}+\sigma_{yp}^{r} +\sigma_{ysp}^{r})A_{l}&\quad\text{for}\quad bottom-boundary,\end{array}\right. \tag{4}\]  
\[\left\{\begin{array}{ll}F_{x}^{i}(t,x,y)=K_{n}u_{x}+C_{n}\dot{u}_{x}-(\sigma_ {xp}^{i}+\sigma_{xp}^{r}+\sigma_{xsv}^{r})A_{l}&\\ F_{y}^{i}(t,x,y)=K_{t}u_{y}+C_{t}\dot{u}_{y}-(\tau_{xyp}^{i}+\tau_{xyp}^{r}+ \tau_{xysp}^{r})A_{l}&\quad\text{for}\quad left-boundary,\end{array}\right. \tag{5}\]  
\[\left\{\begin{array}{ll}F_{x}^{r}(t,x,y)=K_{n}u_{x}+C_{n}\dot{u}_{x}+(\sigma_ {xp}^{i}+\sigma_{xp}^{r}+\sigma_{xsv}^{r})A_{l}&\\ F_{y}^{r}(t,x,y)=K_{t}u_{y}+C_{t}\dot{u}_{y}+(\tau_{xyp}^{i}+\tau_{xyp}^{r}+ \tau_{xysp}^{r})A_{l}&\quad\text{for}\quad right-boundary,\end{array}\right. \tag{6}\]  
According to the theory of oblique incidence of P waves, each term in Equation (3) can be obtained using the structural information, material properties, and input time history. A diagram presenting the oblique incidence of a P wave in a two-dimensional semi-infinite medium is shown in Figure 2. As shown, when the P wave is incident at an angle of \(\theta_{1}\), the free surface produces the reflected P wave (\(A_{2}\)) and the reflected SV wave (\(B_{2}\)). Moreover, the amplification coefficients under the reflected P wave and SV wave (\(a_{1}\), \(a_{2}\)) and the angle between the reflected SV wave and the y-axis (\(\theta_{2}\)) can be expressed as follows:  
\[\theta_{2}=\arcsin(\varepsilon_{s}\sin(\theta_{1})/c_{p}), \tag{7}\]  
\[\  
\[\left\{\begin{array}{l}\sigma_{xp}^{r}=-\left[a_{1}\left(\lambda+2G\sin^{2}\theta_{ 1}\right)/c_{p}\right]\phi_{p}^{r}\\ \sigma_{yp}^{r}=-\left[a_{1}\left(\lambda+2G\cos^{2}\theta_{1}\right)/c_{p} \right]\phi_{p}^{r}\\ \tau_{xyp}^{r}=\left[a_{1}(G\sin 2\theta_{1})/c_{p}\right]\phi_{p}^{r}\end{array}\right., \tag{12}\]  
\[\left\{\begin{array}{l}\sigma_{xxp}^{r}=-a_{2}\rho c_{s}\sin(2\theta_{2}) \phi_{sy}^{r}\\ \sigma_{yyp}^{r}=a_{2}\rho c_{s}\sin(2\theta_{2})\phi_{sy}^{r}\\ \tau_{xypyp}^{r}=a_{2}\rho c_{s}\cos(2\theta_{2})\phi_{sy}^{r}\end{array}\right. \tag{13}\]  
Finally, the equivalent force on each boundary node under the oblique incidence of P waves can be calculated by substituting the viscous-spring artificial boundary coefficients and displacement, velocity, and stress terms into Equations (4)-(6). This equivalent force can then be integrated into each node of the finite element model to calculate the response results.