Page 1 of 1

MgDyn2D and high-order element

Posted: 05 Apr 2024, 15:04
by gforti
Hello all,

I am trying to simulate 2D magnetic flux distribution using higher order elements. I am trying this because I want to simulate a induction furnace applied to thin electrical steel laminations (0.27 mm). My thinking is that second-order elements would reproduce better the induced current in high frequency (50 kHz).
I am trying first with a simple problem and using the -increase function from ElmerGrid. However, the results are not as I expected. the B is still constant in a element.

The magnetic flux for linear elements:
case_lin.PNG
case_lin.PNG (29.46 KiB) Viewed 476 times
The magnetic flux for quadratic elements:
case_quad.PNG
case_quad.PNG (29.28 KiB) Viewed 476 times
I have attached my case files.

Thanks for the help.

Re: MgDyn2D and high-order element

Posted: 05 Apr 2024, 19:22
by gforti
Also,
When I use:
Use Piola Transform = Logical True
Quadratic Approximation = Logical True

The linear system convergence is better, but it haults at the MagnetoDynamicsCalcFields.
Simulation stops abruptaly.

Code: Select all

SingleSolver: Attempting to call solver: 3
SingleSolver: Solver Equation string is: calcfields
MagnetoDynamicsCalcFields: ------------------------------
MagnetoDynamicsCalcFields: Computing postprocessed fields
MagnetoDynamicsCalcFields: Using potential variable: az
MagnetoDynamicsCalcFields: Using Piola transformed finite elements
MagnetoDynamicsCalcFields: Number of components to compute: 12
InitializeToZero: Initializing the linear system to zero
GetNOFActive: Number of active elements: 8605
These are the last lines.

My version is:
MAIN: Version: 9.0 (Rev: Release, Compiled: 2023-12-11)

Re: MgDyn2D and high-order element

Posted: 06 Apr 2024, 15:24
by gforti
PS. updated my Elmer and this problem with Quadratic approximation is solved.

Re: MgDyn2D and high-order element

Posted: 09 Apr 2024, 17:03
by gforti
Hello all again,

I saw that 'Quadratic Approximation' and 'Piola Transform' Keywords are not in the MagnetoDynamics2D solver.
But they are changing the results considerably (Ps. I am using higher-order elements from ElmerGrid -increase)
Is there a recomendation regarding these?

Thanks again for your help.

Re: MgDyn2D and high-order element

Posted: 10 Apr 2024, 10:18
by mika
Here the keywords "Quadratic Approximation" and "Use Piola Transform" relate to the 3-D solvers where the discretization is done in terms of curl-conforming (edge element) basis functions. The 2-D version uses standard basis functions and doesn't need these commands. However it might be safe to remove these commands in the case of the 2-D solver as they may impact on how the common postprocessing solver MagnetoDynamicsCalcFields works. To get the second-order discretization with the 2-D solver you may use either

(a) mesh files which define second-order nodal elements

or

(b) mesh files which define the lowest-order elements together with the command Element = "p:2" in the solver section

Note that if (a) is used, one cannot then give the element definition Element = "p:2" (since the degree of approximation is deduced from the mesh files).

-- Mika

Re: MgDyn2D and high-order element

Posted: 10 Apr 2024, 21:30
by gforti
Thanks for the response, Mika.

About the result. Shoudn't B be defined by a linear variation and not a constant value in each element?

Re: MgDyn2D and high-order element

Posted: 16 Apr 2024, 02:12
by raback
Hi,

Paraview (VTU files) can only understand nodal data and cell data. When you have discontinous field that has different values at each node which one to use? The default is to use cell data which only can be constant within each element.

If you want discontinous and not constant you have to replicate each instance of the nodes and the VTU files become many times bigger (Discontinous Galerkin = True). A good compromise is to keep the jumps only at material interfaces (Discontinuous Bodies = True).

-Peter

Re: MgDyn2D and high-order element

Posted: 16 Apr 2024, 03:28
by gforti
Hello Peter,

Thanks for you response. I am reading the data through SaveLine procedure and I am getting the expected results. Actually, using Element = p:2 gets close, but best results is trough increased order elements in the mesh. I haven't checked the simulation time yet. Also, considering the size of my problem, I am way better served by Elmer own output data over Paraview results. I don't know why, but the stitched file (*.pvtu), is giving wonky results.