## 3 Methodology
### Structure of NN  
The structure of NN is shown in Figure 1 and mathematically is represented by  
\[\hat{f},\hat{x},\hat{x}=\Phi^{L}(t;\mathbf{W},\mathbf{b}) \tag{2}\]  
where the function \(\Phi^{L}:\mathbb{R}^{+}\mapsto\mathbb{R}^{3}\) represents the neural network with \(L\) number of layers; \(t\in\mathbb{R}^{+}\) is the input and \(\hat{x}\in\mathbb{R}\), \(\hat{x}\in\mathbb{R}\), \(\hat{f}\in\mathbb{R}\) are the outputs; \(\mathbf{W}\in\mathbb{R}^{n\times n}\) and \(\mathbf{b}\in\mathbb{R}^{n}\) are the neural network parameters. The architecture was defined in this way since it makes the differentiation of NN output with respect to input more manageable. Differentiation was performed using Automatic Differentiation (AD) with the help of the TensorFlow [32] library functions.  
The NN is feed-forward in a sense, such that the first layer is an input to the second, and the second to the next, and so on until the last layer. This can be represented by the composite equation below,  
\[\mathbf{x}^{j}=\sigma^{j}(\mathbf{W}^{j}\cdot\mathbf{x}^{j-1}+\mathbf{b}^{j}),\qquad j\in\{0,\dots,L\} \tag{3}\]where \(j\) is the layer number, \(\sigma^{j}:\mathbb{R}^{n}\mapsto\mathbb{R}^{n}\) is the activation function which adds non-linearity to the NN, and \(\mathbf{W}^{j}\) and \(\mathbf{b}^{j}\) are weights and biases of the specific layer  
For example, a 4-layer neural network, i.e., \(L=4\), can be represented by  
\[\begin{split}\mathbf{x}^{1}&=\sigma^{1}\Big{(} \mathbf{W}^{1}\cdot\mathbf{x}^{0}+\mathbf{b}^{1}\Big{)}\\ \mathbf{x}^{2}&=\sigma^{2}\Big{(}\mathbf{W}^{2} \cdot\mathbf{x}^{1}+\mathbf{b}^{2}\Big{)}\\ \mathbf{x}^{3}&=\sigma^{3}\Big{(}\mathbf{W}^{3} \cdot\mathbf{x}^{2}+\mathbf{b}^{3}\Big{)}\\ \mathbf{x}^{4}&=\mathbf{W}^{4}\cdot\mathbf{x}^{3}+ \mathbf{b}^{4}\end{split} \tag{4}\]  
where \(\mathbf{x}^{0}=t\) and \(\mathbf{x}^{4}=[\hat{f},\hat{x},\hat{x}]\). The output of NN, \(\hat{f}\) is constrained by the physical model and \(\hat{x}\), \(\hat{x}\) are constrained by the displacement and velocity data, respectively. This is discussed in more detail in the Section 3.2.  
The proposed NN architecture was developed using the Keras [33] library with a TensorFlow backend. It consists of \(L=10\) layers with [1,15,30,60,120, 240,120,60,30,15,3] units each. The batch normalization layer is present alternately after every dense layer and, each dense layer is passed through the eLU activation function, which adds the non-linearity to the network.  
The optimal hyper-parameters were determined by performing systematic hyper-parameter tuning, which involved exploring different combinations of neural network architectures, initialization methods, activation functions, learning rates, and number of epochs. Initially, a shallow network with a smaller number of trainable parameters and ReLU activation function was used, but this did not yield satisfactory results. Subsequently, other activation functions were experimented with, and it was found that the eLU activation function produced better results. Finally, a deeper architecture with eLU activation function was employed. Similar experiments were conducted to identify other optimal hyper-parameter choices. Additional optimal hyper-parameters choices used in study are discussed in the Section 3.3.  
Figure 1: Proposed neural network architecture with input \(t\) and output \(\hat{x},\hat{x}\) and \(\hat{f}\).