WhitneyAVSolver – No Values for Variable AV

Numerical methods and mathematical models of Elmer
Post Reply
anton1ret
Posts: 3
Joined: 08 Aug 2019, 21:12
Antispam: Yes

WhitneyAVSolver – No Values for Variable AV

Post by anton1ret »

Task: Magnetic field 3D of two Permanent Magnet

Hello erveryone,

I first tried to calculate a geometry, which I solved successfully two-dimensionally, 3-dimensionally for comparison, before it gets more complicated.

I have tried a lot of settings, including completely different settings of solvers, which I found here in an example. But for the magnetic field AV I only get values close to 0.

The other values are comparable to the two-dimensional solution. Certainly the values are not the same, it is also another idealization and net geometry.

But can anyone tell me how i can get values for the paramter AV.

I attach the input and output file.

Very best regards,
Anton.

Version: 4.5.0 - Build 24.20.100.6292 on Windows 10 and
3.1 Mesa 18.2.8 on Linux 18.04, 64bit
Intel I7-8750H with 32 GB RAM an a fast SSD harddisk

Code: Select all

!!! case.sif !!!
Header
  CHECK KEYWORDS Warn
  Mesh DB "." "."
  Include Path ""
  Results Directory ""
End

Simulation
  Max Output Level = 5
  Coordinate System = Cartesian
  Coordinate Scaling = Real 0.001		! mm to meter
  Coordinate Mapping(3) = 1 2 3
  Simulation Type = Steady state
  Steady State Max Iterations = 1
  Output Intervals = 1
  Timestepping Method = BDF
  BDF Order = 1
  Solver Input File = case.sif
End

Constants
  Permittivity of Vacuum = 8.8542e-12
  Boltzmann Constant = 1.3807e-23
  Unit Charge = 1.602e-19
End

Body 1
  Target Bodies(1) = 1
  Name = "Body 1"
  Equation = 1
  Material = 2
End

Body 2
  Target Bodies(1) = 2
  Name = "Body 2"
  Equation = 1
  Material = 3
End

Body 3
  Target Bodies(1) = 3
  Name = "Body 3"
  Equation = 1
  Material = 1
End

Solver 1
  Equation = MgDyn
  Procedure = "MagnetoDynamics" "WhitneyAVSolver"
  Variable =  AV
  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 = 20
  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 = BiCGStab
  Linear System Max Iterations = 1000
  Linear System Convergence Tolerance = 1.0e-10
  BiCGstabl polynomial degree = 2
  Linear System Preconditioning = ILU0
  Linear System ILUT Tolerance = 1.0e-3
  Linear System Abort Not Converged = False
  Linear System Residual Output = 10
  Linear System Precondition Recompute = 1
End

Solver 2
  Equation = MgDynPost
  Procedure = "MagnetoDynamics" "MagnetoDynamicsCalcFields"
  Potential Variable = String "AV"
  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 = 20
  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 = BiCGStab
  Linear System Max Iterations = 1000
  Linear System Convergence Tolerance = 1.0e-10
  BiCGstabl polynomial degree = 2
  Linear System Preconditioning = ILU0
  Linear System ILUT Tolerance = 1.0e-3
  Linear System Abort Not Converged = False
  Linear System Residual Output = 10
  Linear System Precondition Recompute = 1
  Calculate Magnetic Vector Potential = logical True
  Calculate Magnetic Field Strength = logical True
  Calculate Nodal Forces = logical true
End

!!! Save the fields to a file
Solver 3
  Exec Solver = After Timestep
  Equation = ResultOutput
  Procedure = "ResultOutputSolve" "ResultOutputSolver"

  Output File Name = "step"
  Output Directory = "results"
  
  ! VTU format for ParaView with faces' IDs
  Save Geometry Ids = logical True
  Vtu Format = logical True
  !Ascii Output = False
  !Binary Output = logical True
  !Single Precision = logical True
End

Solver 4
  Exec Solver = After Timestep
  Equation = SaveScalars
  Procedure = "SaveData" "SaveScalars"

  Filename = "results.dat"
  Output Directory = "results"

  Save Component Results = logical True
End

Equation 1
  Name = "MGDyn"
  Active Solvers(4) = 1 2 3 4
End


Material 1
  Name = "air"
  Relative Permeability = 1
End

Material 2
  Name = "magnet1"
  Relative Permeability = 1.216
  Magnetization 2 = Real 942.0e3
End

Material 3
  Name = "magnet3"
  Relative Permeability = 1.216
  Magnetization 2 = Real 666.0e3
  Magnetization 1 = Real 666.0e3
End

Boundary Condition 1
  Target Boundaries(1) = 4 
  Name = "farvield"
!  Infinity BC = True
  AV {e} = Real 0
!  AV {e} 1 = Real 0
!  AV {e} 2 = Real 0
End

Component 1
  Name = string "force"
  Master Bodies(1) = integer 2
  Calculate Magnetic Force = Logical True
!  Save Scalars = Logical True
End

Code: Select all

!!! case.out !!!
ELMER SOLVER (v 8.3) STARTED AT: 2019/08/23 12:19:25
ParCommInit:  Initialize #PEs:            1
MAIN: 
MAIN: =============================================================
MAIN: ElmerSolver finite element software, Welcome!
MAIN: This program is free software licensed under (L)GPL
MAIN: Copyright 1st April 1995 - , CSC - IT Center for Science Ltd.
MAIN: Webpage http://www.csc.fi/elmer, Email elmeradm@csc.fi
MAIN: Version: 8.3 (Rev: 432ee0dd, Compiled: 2018-12-18)
MAIN:  Running one task without MPI parallelization.
MAIN:  Running with just one thread per task.
MAIN:  Lua interpreted linked in.
MAIN: =============================================================
MAIN: 
MAIN: 
MAIN: -------------------------------------
MAIN: Reading Model: case.sif
LoadInputFile: Scanning input file: case.sif

LoadInputFile: Loading input file: case.sif
Loading user function library: [MagnetoDynamics]...[WhitneyAVSolver_Init0]
Loading user function library: [MagnetoDynamics]...[MagnetoDynamicsCalcFields_Init0]
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver_Init0]
Loading user function library: [SaveData]...[SaveScalars_Init0]
LoadMesh: Base mesh name: ./.

LoadMesh: Scaling coordinates: 1.000E-03 1.000E-03 1.000E-03

LoadMesh: Elapsed REAL time:     2.2330 (s)

MAIN: -------------------------------------
Loading user function library: [MagnetoDynamics]...[WhitneyAVSolver_Init]
Loading user function library: [MagnetoDynamics]...[WhitneyAVSolver_bulk]
Loading user function library: [MagnetoDynamics]...[WhitneyAVSolver]
OptimizeBandwidth: ---------------------------------------------------------

OptimizeBandwidth: Computing matrix structure for: mgdyn...done.
OptimizeBandwidth: Half bandwidth without optimization: 269367
OptimizeBandwidth: 

OptimizeBandwidth: Bandwidth Optimization ...done.
OptimizeBandwidth: Half bandwidth after optimization: 13810
OptimizeBandwidth: ---------------------------------------------------------

Loading user function library: [MagnetoDynamics]...[MagnetoDynamicsCalcFields_Init]
Loading user function library: [MagnetoDynamics]...[MagnetoDynamicsCalcFields_bulk]
Loading user function library: [MagnetoDynamics]...[MagnetoDynamicsCalcFields]
OptimizeBandwidth: ---------------------------------------------------------
OptimizeBandwidth: Computing matrix structure for: mgdynpost...done.
OptimizeBandwidth: Half bandwidth without optimization: 40470
OptimizeBandwidth: 

OptimizeBandwidth: Bandwidth Optimization ...done.
OptimizeBandwidth: Half bandwidth after optimization: 3303
OptimizeBandwidth: ---------------------------------------------------------

Loading user function library: [ResultOutputSolve]...[ResultOutputSolver_Init]
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver_bulk]
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver]
Loading user function library: [SaveData]...[SaveScalars_Init]
Loading user function library: [SaveData]...[SaveScalars_bulk]
Loading user function library: [SaveData]...[SaveScalars]
MAIN: 
MAIN: -------------------------------------
MAIN:  Steady state iteration:            1
MAIN: -------------------------------------
MAIN: 
SingleSolver: Attempting to call solver
SingleSolver: Solver Equation string is: mgdyn
WhitneyAVSolver: Solving the AV equations with edge elements

MGDynAssembly: Elapsed REAL time:     3.2430 (s)
DefUtils::DefaultDirichletBCs: Setting Dirichlet boundary conditions

DefUtils::DefaultDirichletBCs: Dirichlet boundary conditions set

CRS_IncompleteLU: ILU(0) (Real), Starting Factorization:

CRS_IncompleteLU: ILU(0) (Real), NOF nonzeros:   4302723
CRS_IncompleteLU: ILU(0) (Real), filling (%) :       100
CRS_IncompleteLU: ILU(0) (Real), Factorization ready at (s):     0.11

      10 0.4725E-01

      20 0.3139E-02

      30 0.5314E-03

      40 0.5719E-04

      50 0.2009E-05

      60 0.4904E-06

      70 0.4335E-07

      80 0.1749E-08

      90 0.2213E-09

      98 0.9926E-10
ComputeChange: NS (ITER=1) (NRM,RELC): ( 0.27985351E-05  2.0000000     ) :: mgdyn

MGDynAssembly: Elapsed REAL time:     3.2150 (s)
DefUtils::DefaultDirichletBCs: Setting Dirichlet boundary conditions

DefUtils::DefaultDirichletBCs: Dirichlet boundary conditions set
CRS_IncompleteLU: ILU(0) (Real), Starting Factorization:

CRS_IncompleteLU: ILU(0) (Real), NOF nonzeros:   4302723
CRS_IncompleteLU: ILU(0) (Real), filling (%) :       100
CRS_IncompleteLU: ILU(0) (Real), Factorization ready at (s):     0.09
       1 0.7576E-10
ComputeChange: NS (ITER=2) (NRM,RELC): ( 0.27985351E-05 0.11223008E-11 ) :: mgdyn
Loading user function library: [MagnetoDynamics]...[WhitneyAVSolver_post]
ComputeChange: SS (ITER=1) (NRM,RELC): ( 0.27985351E-05  2.0000000     ) :: mgdyn

SingleSolver: Attempting to call solver
SingleSolver: Solver Equation string is: mgdynpost
MagnetoDynamicsCalcFields: Computing postprocessed fields
WARNING:: GetPermittivity: Permittivity not defined in material, defaulting to that of vacuum

CRS_IncompleteLU: ILU(0) (Real), Starting Factorization:

CRS_IncompleteLU: ILU(0) (Real), NOF nonzeros:    582129
CRS_IncompleteLU: ILU(0) (Real), filling (%) :       100
CRS_IncompleteLU: ILU(0) (Real), Factorization ready at (s):     0.02
       5 0.3783E-11
ComputeChange: NS (ITER=1) (NRM,RELC): ( 0.10064024      2.0000000     ) :: mgdynpost
       5 0.4138E-11
ComputeChange: NS (ITER=2) (NRM,RELC): ( 0.28682764     0.96104684     ) :: mgdynpost
       5 0.2846E-11
ComputeChange: NS (ITER=3) (NRM,RELC): ( 0.62167789E-01  1.2874659     ) :: mgdynpost

       5 0.3727E-11
ComputeChange: NS (ITER=4) (NRM,RELC): (  73921.307      1.9999966     ) :: mgdynpost
       5 0.3896E-11
ComputeChange: NS (ITER=5) (NRM,RELC): (  193490.62     0.89427059     ) :: mgdynpost
       5 0.2792E-11
ComputeChange: NS (ITER=6) (NRM,RELC): (  46163.342      1.2295000     ) :: mgdynpost
       5 0.3674E-11
ComputeChange: NS (ITER=7) (NRM,RELC): ( 0.98640331E-03  1.9999999     ) :: mgdynpost

       5 0.4255E-11
ComputeChange: NS (ITER=8) (NRM,RELC): ( 0.29531633E-03  1.0783746     ) :: mgdynpost
       5 0.3727E-11
ComputeChange: NS (ITER=9) (NRM,RELC): ( 0.16007241E-02  1.3769831     ) :: mgdynpost
MagnetoDynamicsCalcFields:  Eddy current power:    0.0000000000000000
MagnetoDynamicsCalcFields:  (Electro)Magnetic Field Energy:    7.1543214362065717
Loading user function library: [MagnetoDynamics]...[MagnetoDynamicsCalcFields_post]
ComputeChange: SS (ITER=1) (NRM,RELC): ( 0.16007241E-02  2.0000000     ) :: mgdynpost
SingleSolver: Attempting to call solver
SingleSolver: Solver Equation string is: resultoutput
ResultOutputSolver: -------------------------------------
ResultOutputSolve: Saving with prefix: step
ResultOutputSolver: Creating list for saving - if not present
CreateListForSaving: Field Variables for Saving
ResultOutputSolver: Saving in unstructured VTK XML (.vtu) format
VtuOutputSolver: Saving results in VTK XML format with prefix: step
VtuOutputSolver: Saving number of partitions: 1
WriteVtuFile: Writing variable: magnetic flux density e
WriteVtuFile: Writing variable: magnetic vector potential e
WriteVtuFile: Writing variable: magnetic field strength e
WriteVtuFile: Writing variable: nodal force e

ResultOutputSolver: -------------------------------------
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver_post]
SingleSolver: Attempting to call solver
SingleSolver: Solver Equation string is: savescalars
SaveScalars: -----------------------------------------
SaveScalars: Saving scalar values of various kinds
SaveScalars: Saving names of values to file: results/results.dat.names
SaveScalars: Saving values to file: results/results.dat
Loading user function library: [SaveData]...[SaveScalars_post]
ElmerSolver: *** Elmer Solver: ALL DONE ***

ElmerSolver: The end
SOLVER TOTAL TIME(CPU,REAL):        20.47       20.47
ELMER SOLVER FINISHED AT: 2019/08/23 12:19:46

mzenker
Posts: 1999
Joined: 07 Dec 2009, 11:49
Location: Germany

Re: WhitneyAVSolver – No Values for Variable AV

Post by mzenker »

Hi,

in your output, there is a warning:

Code: Select all

WARNING:: GetPermittivity: Permittivity not defined in material, defaulting to that of vacuum
Could this be the cause of your problem?

HTH,
Matthias
anton1ret
Posts: 3
Joined: 08 Aug 2019, 21:12
Antispam: Yes

Re: WhitneyAVSolver – No Values for Variable AV

Post by anton1ret »

Hi Mathias,

thank you for your reply. I have now tested it with indication of permittivity with the same problem. It also works without specification in the two-dimensional calculation with the same warning.

Cheers, Anton.
mzenker
Posts: 1999
Joined: 07 Dec 2009, 11:49
Location: Germany

Re: WhitneyAVSolver – No Values for Variable AV

Post by mzenker »

Hi,

I don't have any experience with magnetic simulation myself, so I cannot help much further.
Just a thought: Are you sure that the geometries are comparable? In 2D simulations Elmer normally assumes 1 m thickness for the 3rd dimension, so your 3D geometry should take that into account.
For the rest, someone with knowledge about the magnetic solvers has to take over...

Matthias
anton1ret
Posts: 3
Joined: 08 Aug 2019, 21:12
Antispam: Yes

Re: WhitneyAVSolver – No Values for Variable AV

Post by anton1ret »

Hi Matthias,

thank you for trying to help me.

I have three-dimensional a thickness of 50mm and multiply the relevant results by 20.
For sure the values are not the same but nearby. It is also another idealization and net geometry.

Cheers, Anton.
Post Reply