HelmholtzSolve and p-elements

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

HelmholtzSolve and p-elements

Post by CrocoDuck »

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: 236
Joined: 15 Sep 2009, 07:44

Re: HelmholtzSolve and p-elements

Post by mika »

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: 81
Joined: 12 May 2016, 13:15
Antispam: Yes

Re: HelmholtzSolve and p-elements

Post by CrocoDuck »

Thank you very much, that clarifies things.
Post Reply