elmercsc / elmer-elmag Goto Github PK
View Code? Open in Web Editor NEWDevelopment repository for electromagnetics tutorial and verification cases
Development repository for electromagnetics tutorial and verification cases
I just tried to run the InductionHeating cases with mpi on 4 cores:
@raback are there any known limitations of the applied solvers?
We have started to gather verification and tutorial cases related to electromagnetics. The hope is to better demonstrate the great potential of Elmer in these kind of applications.
The work is being carried out at a GitHub repository (this repo)
https://github.com/ElmerCSC/elmer-elmag
This is a work in progress and the hope is that with a joint community effort this will be better than with a work one some single person. So we welcome everybody to join in the effort.
As a first step we have gathered some publicly available cases from this forum and elsewhere. The cases may be improved and further developed. One aim is that some of the cases would eventually become also tutorial cases for ElmerGUI. As of now they are just ElmerSolver case files.
If you're interested in joining the effort in some way, we can grant you access to the repository and discuss of possible cases.
Also comments to this issue are welcome!
Hi Team Elmer,
I wanted to explore Elmer with GUI for transient electromagnetics problems such as Electric motors.
Is there an example which can be opened in GUI to understand the model setup?
The example "InductionMachine2D" is really good, but it cannot be opened in GUI.
Let me know if you have any references for this.
Thanks in Advance,
Mandar
I'm able to successfully run the BandpassFilter example, but as it stands, the results appear empty.
The data.txt
file:
0.000000000000E+000 0.000000000000E+000
0.000000000000E+000 0.000000000000E+000
0.000000000000E+000 0.000000000000E+000
The output of ElmerSolver:
ELMER SOLVER (v 9.0) STARTED AT: 2024/03/17 01:05:11
ParCommInit: Initialize #PEs: 1
MAIN: OMP_NUM_THREADS not set. Using only 1 thread per task.
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 [email protected]
MAIN: Version: 9.0 (Rev: 182610423, Compiled: 2024-03-15)
MAIN: Running one task without MPI parallelization.
MAIN: Running with just one thread per task.
MAIN: =============================================================
MAIN:
MAIN:
MAIN: -------------------------------------
MAIN: Reading Model: Filter_Zhai.sif
LoadInputFile: Scanning input file: Filter_Zhai.sif
LoadInputFile: Scanning only size info
LoadInputFile: First time visiting
LoadInputFile: Reading base load of sif file
LoadInputFile: Loading input file: Filter_Zhai.sif
LoadInputFile: Reading base load of sif file
Loading user function library: [EMParam_WR28]...[omega]
Loading user function library: [EMParam_WR28]...[MagnBndLoad]
Loading user function library: [EMParam_WR28]...[betaNull]
Loading user function library: [EMParam_WR28]...[betaNull]
LoadInputFile: Number of BCs: 3
LoadInputFile: Number of Body Forces: 0
LoadInputFile: Number of Initial Conditions: 0
LoadInputFile: Number of Materials: 1
LoadInputFile: Number of Equations: 1
LoadInputFile: Number of Solvers: 4
LoadInputFile: Number of Bodies: 1
ListTagKeywords: Setting weight for keywords!
ListTagKeywords: No parameters width suffix: normalize by area
ListTagKeywords: Setting weight for keywords!
ListTagKeywords: No parameters width suffix: normalize by volume
Loading user function library: [VectorHelmholtz]...[VectorHelmholtzSolver_Init0]
EdgeElementStyle: "Quadratic Approximation" requested without Piola. Setting "Use Piola Transform = True"
Loading user function library: [VectorHelmholtz]...[VectorHelmholtzCalcFields_Init0]
Loading user function library: [SaveData]...[SaveScalars_Init0]
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver_Init0]
Loading user function library: [VectorHelmholtz]...[MagnetoDynamics_Dummy_Init0]
ElmerAsciiMesh: Base mesh name: mesh/Hl_Filter_Zhai_a08
PermuteNodeNumbering: Performing node mapping
MapBodiesAndBCs: Minimum initial body index: 1
MapBodiesAndBCs: Maximum initial body index: 1
MapBodiesAndBCs: Minimum initial boundary index: 1
MapBodiesAndBCs: Maximum initial boundary index: 3
LoadMesh: Elapsed REAL time: 0.0980 (s)
MAIN: -------------------------------------
Loading user function library: [VectorHelmholtz]...[VectorHelmholtzSolver_Init]
Loading user function library: [VectorHelmholtz]...[VectorHelmholtzSolver_bulk]
Loading user function library: [VectorHelmholtz]...[VectorHelmholtzSolver]
OptimizeBandwidth: ---------------------------------------------------------
OptimizeBandwidth: Computing matrix structure for: vector helmholtz equation
OptimizeBandwidth: Initial bandwidth for vector helmholtz equation: 40578
OptimizeBandwidth: Optimized bandwidth for vector helmholtz equation: 2258
OptimizeBandwidth: ---------------------------------------------------------
Loading user function library: [VectorHelmholtz]...[VectorHelmholtzCalcFields_Init]
Loading user function library: [VectorHelmholtz]...[VectorHelmholtzCalcFields_bulk]
Loading user function library: [VectorHelmholtz]...[VectorHelmholtzCalcFields]
OptimizeBandwidth: ---------------------------------------------------------
OptimizeBandwidth: Computing matrix structure for: vector helmholtz post process
OptimizeBandwidth: Initial bandwidth for vector helmholtz post process: 1660
OptimizeBandwidth: Optimized bandwidth for vector helmholtz post process: 153
OptimizeBandwidth: ---------------------------------------------------------
Loading user function library: [SaveData]...[SaveScalars_Init]
Loading user function library: [SaveData]...[SaveScalars_bulk]
Loading user function library: [SaveData]...[SaveScalars]
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver_Init]
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver_bulk]
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver]
Loading user function library: [VectorHelmholtz]...[MagnetoDynamics_Dummy_Init]
Loading user function library: [VectorHelmholtz]...[MagnetoDynamics_Dummy_bulk]
Loading user function library: [VectorHelmholtz]...[MagnetoDynamics_Dummy]
MAIN: Number of timesteps to be saved: 3
MAIN:
MAIN: -------------------------------------
MAIN: Time: 1/3: 1.000E+00
MAIN: -------------------------------------
MAIN:
VectorHelmholtzSolver:
VectorHelmholtzSolver: -------------------------------------------------
VectorHelmholtzSolver: Solving harmonic electromagnetic wave equation!
EnforceDirichletConditions: Dirichlet conditions enforced for dofs: 26516
EnforceDirichletConditions: Dirichlet conditions enforced for dofs: 26516
SolveLinearSystem: Assuming complex valued linear system
CRS_ComplexILUT: ILU(T) (Complex), Starting factorization:
CRS_ComplexILUT: ILU(T) (Complex), NOF nonzeros: 1577145
CRS_ComplexILUT: ILU(T) (Complex), filling (%): 100
CRS_ComplexILUT: ILU(T) (Complex), Factorization ready at (s): 1.26
1 0.1639E+00
2 0.1111E+00
3 0.6372E-01
4 0.2984E-01
5 0.3528E-01
6 0.8439E-02
7 0.5484E-02
8 0.4529E-02
9 0.3714E-02
10 0.8877E-03
11 0.4062E-03
12 0.4368E-03
13 0.8840E-04
14 0.7870E-05
15 0.5200E-06
16 0.1090E-06
17 0.7460E-07
ComputeChange: Nonlinear iteration did not converge to tolerance
ComputeChange: NS (ITER=1) (NRM,RELC): ( 0.29375131E-03 2.0000000 ) :: vector helmholtz equation
SaveScalars: -----------------------------------------
SaveScalars: Saving scalar values of various kinds
SaveScalars: Found 2 values to save in total
SaveScalars: Saving names of values to file: res/data.txt.names
SaveScalars: Saving values to file: res/data.txt
ResultOutputSolver: -------------------------------------
ResultOutputSolver: Saving with prefix: str
ResultOutputSolver: Creating list for saving - if not present
CreateListForSaving: Field Variables for Saving
CreateListForSaving: Vector Field 1: electric field re
CreateListForSaving: Vector Field 2: electric field im
CreateListForSaving: Vector Field 3: magnetic field strength re
CreateListForSaving: Vector Field 4: magnetic field strength im
CreateListForSaving: Vector Field 5: poynting vector re
CreateListForSaving: Vector Field 6: poynting vector im
CreateListForSaving: Vector Field 7: electric field re e
CreateListForSaving: Vector Field 8: electric field im e
CreateListForSaving: Vector Field 9: magnetic field strength re e
CreateListForSaving: Vector Field 10: magnetic field strength im e
CreateListForSaving: Vector Field 11: poynting vector re e
CreateListForSaving: Vector Field 12: poynting vector im e
ResultOutputSolver: Saving in unstructured VTK XML (.vtu) format
VtuOutputSolver: Saving results in VTK XML format with prefix: str
VtuOutputSolver: Saving number of partitions: 1
VtuOutputSolver: Setting offset for boundary entities: 100
ResultOutputSolver: -------------------------------------
MAIN:
MAIN: -------------------------------------
MAIN: Time: 2/3: 2.000E+00
MAIN: Elapsed time: 7.1 seconds
MAIN: Estimated time left: 10.8 seconds
MAIN: -------------------------------------
MAIN:
VectorHelmholtzSolver:
VectorHelmholtzSolver: -------------------------------------------------
VectorHelmholtzSolver: Solving harmonic electromagnetic wave equation!
EnforceDirichletConditions: Dirichlet conditions enforced for dofs: 26516
EnforceDirichletConditions: Dirichlet conditions enforced for dofs: 26516
SolveLinearSystem: Assuming complex valued linear system
CRS_ComplexILUT: ILU(T) (Complex), Starting factorization:
CRS_ComplexILUT: ILU(T) (Complex), NOF nonzeros: 1577303
CRS_ComplexILUT: ILU(T) (Complex), filling (%): 100
CRS_ComplexILUT: ILU(T) (Complex), Factorization ready at (s): 1.27
1 0.6656E-02
2 0.2196E-02
3 0.1157E-02
4 0.8285E-03
5 0.3123E-03
6 0.2498E-03
7 0.2103E-03
8 0.4581E-04
9 0.1587E-04
10 0.1309E-04
11 0.8812E-05
12 0.1269E-04
13 0.4836E-06
14 0.3779E-07
ComputeChange: Nonlinear iteration did not converge to tolerance
ComputeChange: NS (ITER=1) (NRM,RELC): ( 0.29869249E-03 0.16680668E-01 ) :: vector helmholtz equation
SaveScalars: -----------------------------------------
SaveScalars: Saving scalar values of various kinds
SaveScalars: Found 2 values to save in total
SaveScalars: Saving values to file: res/data.txt
ResultOutputSolver: -------------------------------------
ResultOutputSolver: Saving in unstructured VTK XML (.vtu) format
VtuOutputSolver: Setting offset for boundary entities: 100
ResultOutputSolver: -------------------------------------
MAIN:
MAIN: -------------------------------------
MAIN: Time: 3/3: 3.000E+00
MAIN: Elapsed time: 12.1 seconds
MAIN: Estimated time left: 5.0 seconds
MAIN: -------------------------------------
MAIN:
VectorHelmholtzSolver:
VectorHelmholtzSolver: -------------------------------------------------
VectorHelmholtzSolver: Solving harmonic electromagnetic wave equation!
EnforceDirichletConditions: Dirichlet conditions enforced for dofs: 26516
EnforceDirichletConditions: Dirichlet conditions enforced for dofs: 26516
SolveLinearSystem: Assuming complex valued linear system
CRS_ComplexILUT: ILU(T) (Complex), Starting factorization:
CRS_ComplexILUT: ILU(T) (Complex), NOF nonzeros: 1577544
CRS_ComplexILUT: ILU(T) (Complex), filling (%): 100
CRS_ComplexILUT: ILU(T) (Complex), Factorization ready at (s): 1.28
1 0.6928E-02
2 0.3007E-02
3 0.1199E-02
4 0.3534E-02
5 0.3793E-03
6 0.2850E-03
7 0.2699E-03
8 0.6368E-04
9 0.3000E-04
10 0.1094E-04
11 0.6679E-05
12 0.8440E-05
13 0.4205E-06
14 0.4692E-07
ComputeChange: Nonlinear iteration did not converge to tolerance
ComputeChange: NS (ITER=1) (NRM,RELC): ( 0.30399058E-03 0.17581677E-01 ) :: vector helmholtz equation
SaveScalars: -----------------------------------------
SaveScalars: Saving scalar values of various kinds
SaveScalars: Found 2 values to save in total
SaveScalars: Saving values to file: res/data.txt
ResultOutputSolver: -------------------------------------
ResultOutputSolver: Saving in unstructured VTK XML (.vtu) format
VtuOutputSolver: Setting offset for boundary entities: 100
ResultOutputSolver: -------------------------------------
MAIN: Reporting unused list entries for sif improvement!
MAIN: If you do not want these lines undefine > DEVEL_LISTUSAGE < !
Unused keywords:
Simulation bdf order
Constants gravity
Constants stefan boltzmann
Constants boltzmann constant
Constants unit charge
Material 1 relative permeability
Solver 1 steady state convergence tolerance
Solver 1 linear system abort not converged
Solver 1 idrs parameter
Solver 2 steady state convergence tolerance
Solver 2 nonlinear system max iterations
Solver 2 linear system iterative method
Solver 2 linear system max iterations
Solver 2 linear system convergence tolerance
Solver 2 bicgstabl polynomial degree
Solver 2 linear system ilut tolerance
Solver 2 linear system abort not converged
MAIN: *** Elmer Solver: ALL DONE ***
ReleaseMeshFaceTables: Releasing number of faces: 12099
MAIN: The end
SOLVER TOTAL TIME(CPU,REAL): 16.40 17.14
ELMER SOLVER FINISHED AT: 2024/03/17 01:05:28
In Paraview, all fields appear as 0.00:
Pull request to fix it is here #3
The issue is the geom file has been edited to only draw 1 stator slot. Changing the number of slots back to 12 and uncommenting the physical region code seems to fix it.
System: Windows 11
ElmerSolver version: v 9.0
I'm attempting to run the Elmer BandpassFilter example found here: https://github.com/ElmerCSC/elmer-elmag/tree/main/BandpassFilter
When I run ElmerSolver.exe in the BandpassFilter directory of the repo, I get the following:
PS D:\repos\elmer-elmag\BandpassFilter> ElmerSolver.exe .\Filter_Zhai.sif
ELMER SOLVER (v 9.0) STARTED AT: 2024/03/15 15:48:19
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 [email protected]
MAIN: Version: 9.0 (Rev: Release, Compiled: 2023-03-05)
MAIN: Running one task without MPI parallelization.
MAIN: Running with just one thread per task.
MAIN: Lua interpreter linked in.
MAIN: External optimization routines linked in.
MAIN: =============================================================
MAIN:
MAIN:
MAIN: -------------------------------------
MAIN: Reading Model: .\Filter_Zhai.sif
Caught LUA error:...0-Release/share/elmersolver/lua-scripts/defaults.lua:58: r
LoadInputFile: Scanning input file: .\Filter_Zhai.sif
LoadInputFile: Scanning only size info
LoadInputFile: First time visiting
LoadInputFile: Reading base load of sif file
LoadInputFile: Loading input file: .\Filter_Zhai.sif
LoadInputFile: Reading base load of sif file
Loading user function library: [EMParam_WR28]...[omega]
Can not find EMParam_WR28.
Can not find EMParam_WR28.dll.
Can not find .\EMParam_WR28.
Can not find .\EMParam_WR28.dll.
Can not find C:\Program Files\Elmer 9.0-Release/share/elmersolver/lib\EMParam_WR28.
Can not find C:\Program Files\Elmer 9.0-Release/share/elmersolver/lib\EMParam_WR28.dll.
I've created a post on the Elmer forum - not sure which gets more traffic between this GitHub repo and the forum. Any help would be greatly appreciated.
Cheers,
Daniel
If I'm not wrong,
In Body 2 the Name shall be "Core" (not "Air")
and in Body 3 the Name shall be "Air" (not "Core")
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.