In Klein_Gordon_model_tf.py, line 108, you used supervised learning in the domain to get the difference between the output of the neural network and actual results during training.
self.loss_res = tf.reduce_mean(tf.square(self.r_pred - self.r_tf))
The same thing happened to elmholtz2D_model_tf.py line 106
self.loss_res = tf.reduce_mean(tf.square(self.r_tf - self.r_pred))
What is the use of physics in this case?