Chapter 3
Running the solver

Now that we have the mesh file compatible with Nektar++ which will support periodic boundary conditions, Helm_mesh.xml, and we have completed the condition file, Helm_conditions.xml, we can run the solver by using the following command:

Task: 3.1 Run the ADRSolver in the directory $NEKTUTORIAL using the command:

$NEK/ADRSolver Helm_mesh.xml Helm_conditions.xml

Note that we have written the mesh in a separate file from the conditions. This is generally more efficient because it allows reopening just the condition file which is much smaller in size than the mesh file (especially for large problems). However, we could also have written both the mesh and the conditions in unique file and used the same command as above for running the solver (in this case with just one file instead of two as line argument).

As soon as the file finishes running, we should see the following screen output:

                EquationType: Helmholtz 
                Session Name: Helm_mesh 
                Spatial Dim.: 2 
          Max SEM Exp. Order: 5 
              Expansion Dim.: 2 
             Projection Type: Continuous Galerkin 
                      Lambda: 2.5 
            Forcing func [0]: -(Lambda + 2*PI*PI)*cos(PI*x)*cos(PI*y) 
Writing: "Helm_mesh.fld" 
Writing: "Helm_mesh.fld" 
Total Computation Time = 0s 
L 2 error (variable u) : 0.000159378 
L inf error (variable u) : 0.000454467

where the L2 and L inf errors are evaluated against the <FUNCTION NAME="ExactSolution"> provided in the Helm_conditions.xml file. To have a more detailed view on the solver settings and parameters used, it is possible to use the -v option (which stands for verbose) as follows:

Task: 3.2 Rerun the ADRSolver with the verbose option:

$NEK/ADRSolver -v Helm_mesh.xml Helm_conditions.xml

The simulation has now produced a final .fld binary file.