1FUNCTION SourceFun(Model, n, t) RESULT(f) 2 USE DefUtils 3 IMPLICIT None 4 TYPE(Model_t) :: Model 5 INTEGER :: n 6 REAL(KIND=dp) :: t, f 7 8 TYPE(Mesh_t), POINTER :: Mesh 9 REAL(KIND=dp) :: xq, yq, zq 10 11 Mesh => Model % Mesh 12 13 xq = Mesh % Nodes % x(n) 14 yq = Mesh % Nodes % y(n) 15 zq = Mesh % Nodes % z(n) 16 17 f = 128.0d0 * ( (yq**2 - 1.0d0/4.0d0)*(zq**2 - 1.0d0/4.0d0) + & 18 (xq**2 - 1.0d0/4.0d0)*(zq**2 - 1.0d0/4.0d0) + & 19 (xq**2 - 1.0d0/4.0d0)*(yq**2 - 1.0d0/4.0d0) ) 20 21END FUNCTION SourceFun 22