## HelmholtzSolve and p-elements

Numerical methods and mathematical models of Elmer
CrocoDuck
Posts: 68
Joined: 12 May 2016, 13:15
Antispam: Yes

### HelmholtzSolve and p-elements

Hi, quick question but I did not find an obvious answer to it yet.

I used the `Element = "p:2"` keyword in the `Solver` section of one of my simulations using the `HelmholtzSolve` solver:

Code: Select all

``````Solver 1
Equation = Helmholtz Equation
Procedure = "HelmholtzSolve" "HelmholtzSolver"
Variable = -dofs 2 Pressure Wave
Exec Solver = Always
Stabilize = True
Bubbles = False
Lumped Mass Matrix = False
Optimize Bandwidth = True
Steady State Convergence Tolerance = 1.0e-5
Nonlinear System Convergence Tolerance = 1.0e-7
Nonlinear System Max Iterations = 1
Nonlinear System Newton After Iterations = 3
Nonlinear System Newton After Tolerance = 1.0e-3
Nonlinear System Relaxation Factor = 1
Linear System Solver = Iterative
Linear System Iterative Method = BiCGStabl
Linear System Max Iterations = 500
Linear System Convergence Tolerance = 1.0e-10
BiCGstabl polynomial degree = 2
Linear System Preconditioning = ILUT
Linear System ILUT Tolerance = 1.0e-3
Linear System Abort Not Converged = True
Linear System Residual Output = 10
Linear System Precondition Recompute = 1
Element = "p:2"
End
``````
The solver starts and produce a solution that makes sense. However, as far as I know not all solvers support p-elements. As I could not find a message demonstrating that p-elements are active in the solver log I am left wondering whether the `Element` keyword is actually being used. My questions are:
• Does the Helmholtz Solver support p-elements?
• What would be the best way to figure out if a solver supports p-elements? Is trial error a viable way (i.e. will solvers not supporting p-elements produce an error in the logs if the keyword is set?).
Cheers!
mika
Posts: 194
Joined: 15 Sep 2009, 07:44

### Re: HelmholtzSolve and p-elements

CrocoDuck wrote: 29 Nov 2020, 17:54 Does the Helmholtz Solver support p-elements?
Yes
CrocoDuck wrote: 29 Nov 2020, 17:54 What would be the best way to figure out if a solver supports p-elements? Is trial error a viable way (i.e. will solvers not supporting p-elements produce an error in the logs if the keyword is set?)
Unfortunately it is not usually clearly indicated whether a solver supports p-elements. If a solver was coded before the implementation of p-elements and hasn't been updated for p-elements afterwards, the solver may allocate too small local matrices or may not loop over all basis functions when integrating local matrices (with p-elements the number of element DOFs should be obtained by calling the function GetElementNOFDOFs instead of the function GetElementNOFNodes). This may cause a clear runtime error or not, but ideally the code should of course inform about such inconsistencies. The necessary modifications to allow p-elements wouldn't be difficult to do, but we should just invest enough time to inspect all solvers. As there are many solvers, we have not attempted to do this thoroughly but added p-element support into some key solvers, leaving end-users somewhat confused.

-- Mika
CrocoDuck
Posts: 68
Joined: 12 May 2016, 13:15
Antispam: Yes

### Re: HelmholtzSolve and p-elements

Thank you very much, that clarifies things.