PMSM Simulation Symmetric vs Full Model

Numerical methods and mathematical models of Elmer
FFF
Posts: 37
Joined: 11 Jun 2021, 11:00
Antispam: Yes

Re: PMSM Simulation Symmetric vs Full Model

Post by FFF »

Here are all the motormodels:
all_models_elmerforum.zip
(447.72 KiB) Downloaded 69 times
Marcos Junior
Posts: 1
Joined: 13 Jun 2024, 16:43
Antispam: Yes

Re: PMSM Simulation Symmetric vs Full Model

Post by Marcos Junior »

I would like help, I recently started studying Elmer and after implementing the examples about torque I am having difficulty extracting the torque from the model I made.

my case.sif

! PMSM 2D transient simulation
! Parameters
$ w_m = 3600/60*2*pi ! [rad/s mech.] mechanical frequency
$ pp = 3 ! number of polepairs
$ w_el = w_m*pp ! [rad/s el.] electrical frequency
$ B_PM = 1.31 ! [T] remanent flux density
$ mu_PM = 1.06 ! relative permeability of PMs
$ H_PM = B_PM/(mu_PM*pi*4d-7) ! [A/m] magnetization of PMs
$ Id = 0 ! [A] d-axis current
$ Iq = 39.05 !!39.05 ! [A] q-axis current
$ Nph = 44 ! Number of phase turns
$ Scs = 0.002373 ! [m^2] area of the coil side
$ sigma_PM = 1/(1.4d6) ! [1/(Ohm*m)] electric conductivity of PMs

Header
CHECK KEYWORDS Warn
Mesh DB "./BLDC_full" "."
Include Path "./materials"
Results Directory "./FinalModProf2Elm"
End

Constants
Permittivity of Vacuum = 8.8542e-12
End

Simulation
Max Output Level = 3
Coordinate System = Cartesian
!Coordinate Scaling = 0.001
Simulation Type = Transient
Timestepping Method = BDF
BDF Order = 2
Timestep Sizes = $ 1/(w_m/2/pi)/180
Timestep Intervals = 181
Post File = case.vtu
Output Intervals = 1
Use Mesh Names = Logical True
End

!!!!!!!!!!!!!!!!!!!!!!!!!! Materials !!!!!!!!!!!!!!!!!!!!!!!!!!!
Material 1
Name = "Air"
Relative Permeability = 1
Relative Permittivity = 1
End

Material 2
Name = "Iron"
Relative Permittivity = 1
! actually B-H values are in the file BH (name is H-B, but values are in B-H format)
Include JEFX900
! Include JEFX900
! H-B Curve(16,2) = Real
! Include JEFX900
!Variable coupled iter
!Real Monotone Cubic

End

Material 3
Name = "magnet1"
Relative Permeability = $ mu_PM
Relative Permittivity = 1
Magnetization 1 = Variable time, timestep size
Real MATC "H_PM*cos(w_m*(tx(0)-tx(1))+30*pi/180)"
Magnetization 2 = Variable time, timestep size
Real MATC "H_PM*sin(w_m*(tx(0)-tx(1))+30*pi/180)"
Electric Conductivity = 0
End



!!!!!!!!!!!!!!!!!!!!!!!!!! Boundary conditions !!!!!!!!!!!!!!!!!!!!!!!!!!!
!outer boundary Dirichlet
Boundary Condition 1
Name = "statorExternal"
Potential Condition = 0
Potential = 0
End

Boundary Condition 2
Name = "statorWallRight"
Mortar BC = Integer 6
Mortar BC Static = Logical True
Anti Radial Projector = Logical True
Galerkin Projector = Logical True
End

Boundary Condition 3
Name = "slipBandRotor"
Discontinuous Boundary = Logical True
Mortar BC = 7
Save Line = True
Anti Rotational Projector = Logical True
End

Boundary Condition 4
Name = "wallRotorLeft"
End

Boundary Condition 5
Name = "wallRotorRight"
Mortar BC = Integer 4
!Mortar BC Static = Logical True
Anti Radial Projector = Logical True
Galerkin Projector = Logical True
End

Boundary Condition 6
Name = "wallStatorLeft"
End


!!!!!!!!!!!!!!!!!!!!!!!!!! Body Forces !!!!!!!!!!!!!!!!!!!!!!!!!!!

!rotation of the rotor
Body Force 1
Name = "bodyForceRotation"
Mesh Rotate 3 = Variable time, timestep size
Real MATC "180/pi*w_m*(tx(0)-tx(1))" ! in degrees
End

!current in the phase A+
Body Force 2
Name = "Current_A_plus"
Current Density = Variable time, timestep size
Real MATC "sqrt(2)*(Id*cos(w_el*(tx(0)-tx(1)))-Iq*sin(w_el*(tx(0)-tx(1))))*Nph/Scs"
End
!current in the phase A
Body Force 3
Name = "Current_A_minus"
Current Density = Variable time, timestep size
Real MATC "-sqrt(2)*(Id*cos(w_el*(tx(0)-tx(1)))-Iq*sin(w_el*(tx(0)-tx(1))))*Nph/Scs"
End
!current in the phase B+
Body Force 4
Name = "Current_B_plus"
Current Density = Variable time, timestep size
Real MATC "sqrt(2)*(Id*cos(w_el*(tx(0)-tx(1))-120/180*pi)-Iq*sin(w_el*(tx(0)-tx(1))-120/180*pi))*Nph/Scs"
End
!current in the phase B-
Body Force 5
Name = "Current_B_minus"
Current Density = Variable time, timestep size
Real MATC "-sqrt(2)*(Id*cos(w_el*(tx(0)-tx(1))-120/180*pi)-Iq*sin(w_el*(tx(0)-tx(1))-120/180*pi))*Nph/Scs"
End
!current in the phase C+
Body Force 6
Name = "Current_C_plus"
Current Density = Variable time, timestep size
Real MATC "sqrt(2)*(Id*cos(w_el*(tx(0)-tx(1))+120/180*pi)-Iq*sin(w_el*(tx(0)-tx(1))+120/180*pi))*Nph/Scs"
End
!current in the phase C-
Body Force 7
Name = "Current_C_minus"
Current Density = Variable time, timestep size
Real MATC "-sqrt(2)*(Id*cos(w_el*(tx(0)-tx(1))+120/180*pi)-Iq*sin(w_el*(tx(0)-tx(1))+120/180*pi))*Nph/Scs"
End
!!!!!!!!!!!!!!!!!!!!!!!!!! Solver parameters !!!!!!!!!!!!!!!!!!!!!!!!!!!

Solver 1 !mesh rotation
Exec Solver = Before Timestep
Equation = MeshDeform
Procedure = "RigidMeshMapper" "RigidMeshMapper"
End

Solver 2
Equation = MgDyn2D
Variable = Potential
Procedure = "MagnetoDynamics2D" "MagnetoDynamics2D"
Exec Solver = Always
Stabilize = True
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 = Direct
Linear System Direct Method = MUMPS
Mortar BCs Additive = Logical True
End


Solver 3
Equation = MgDynPost
Procedure = "MagnetoDynamics" "MagnetoDynamicsCalcFields" !"BSolver"!"MagnetoDynamicsCalcFields"
Calculate Magnetic Field Strength = True
Calculate Current Density = True
Calculate Nodal Forces = Logical True
Calculate Magnetic Torque = Logical True
!Discontinuous Galerkin = True !! paralelo
Exec Solver = Always
Calculate Magnetic Vector Potential = Logical True
Linear System Solver = Direct
Linear System Iterative Method = MUMPS
End



Solver 4 !save scalar variables - torque T [Nm]
Exec Solver = After Timestep
Filename = "scalars.dat"
Procedure = "SaveData" "SaveScalars"
Show Norm Index = 3
End

Solver 5
Exec Solver = After All
Equation = SaveLine
Filename = "line.dat"
Procedure = "SaveData" "SaveLine"
save component results = logical true
Variable 1 = magnetic flux density e
End




!!!!!!!!!!!!!!!!!!!!!!!!!! Equations are here !!!!!!!!!!!!!!!!!!!!!!!!!!!

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

!!!!!!!!!!!!!!!!!!!!!!!!!! Bodies are here !!!!!!!!!!!!!!!!!!!!!!!!!!!

Body 1
Name = axis
Equation = 1
Material = 2
Body Force = 1
End

Body 2
Name = rotor2
Equation = 1
Material = 2
Body Force = 1
Torque Groups = Integer 1
End

Body 3
Name = coil2
Equation = 1
Material = 1
Body Force = 7
End

Body 4
Name = airgapRotor
Equation = 1
Material = 1
Body Force = 1
r outer = Real 0.04731
r inner = Real 0.047055
!r inner = Real 0.02206
End

Body 5
Name = rotor1
Equation = 1
Material = 3
Body Force = 1
End
Body 6
Name = coil1
Equation = 1
Material = 1
Body Force = 2
End
Body 7
Name = airGapStator
Equation = 1
Material = 1
End
Body 8
Name = coil4
Equation = 1
Material = 1
Body Force = 3
End
Body 9
Name = coli6
Equation = 1
Material = 1
Body Force = 3
End
Body 10
Name = coil3
Equation = 1
Material = 1
Body Force = 2
End
Body 11
Name = coil8
Equation = 1
Material = 1
Body Force = 5
End
Body 12
Name = coil10
Equation = 1
Material = 1
Body Force = 5
End
Body 13
Name = coil12
Equation = 1
Material = 1
Body Force = 7
End
Body 14
Name = coil5
Equation = 1
Material = 1
Body Force = 4
End
Body 15
Name = coil7
Equation = 1
Material = 1
Body Force = 4
End
Body 16
Name = Stator
Equation = 1
Material = 2
End
Body 17
Name = coil9
Equation = 1
Material = 1
Body Force = 6
End
Body 18
Name = coil11
Equation = 1
Material = 1
Body Force = 6
End
tayeb.mezri
Posts: 6
Joined: 04 Jun 2024, 12:40
Antispam: Yes

Re: PMSM Simulation Symmetric vs Full Model

Post by tayeb.mezri »

Hello Sir,

I am encountering an issue with ELMER while calculating the flux in an electric machine. When I energize phase A and turn off phase B, the flux values are not of the same order of magnitude. However, on FEMM, the fluxes for both phases (A and B) are of the same order of magnitude.

Could you please assist me in identifying the problem and resolving this discrepancy in the flux calculation?


Thank you
.sif file :
Header
CHECK KEYWORDS Warn
Mesh DB "." "."
Include Path ""
Results Directory ""
End

Simulation
Max Output Level = 5
Coordinate System = Cartesian
Coordinate Mapping(3) = 1 2 3
Simulation Type = Steady state
Coordinate Scaling = 0.001
Steady State Max Iterations = 1
Output Intervals(1) = 1
Solver Input File = case.sif
Post File = case.vtu
End

Constants
Gravity(4) = 0 -1 0 9.82
Stefan Boltzmann = 5.670374419e-08
Permittivity of Vacuum = 8.85418781e-12
Permeability of Vacuum = 1.25663706e-6
Boltzmann Constant = 1.380649e-23
Unit Charge = 1.6021766e-19
End

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

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

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

Body 4
Target Bodies(1) = 4
Name = "A-"
Equation = 1
Material = 2
Body Force = 2
End

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

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

Body 7
Target Bodies(1) = 7
Name = "B+"
Equation = 1
Material = 2
Body Force = 3
End

Solver 1
Equation = MgDyn2D
Procedure = "MagnetoDynamics2D" "MagnetoDynamics2D"
Variable = Potential
Exec Solver = Always
Stabilize = True
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 = 500
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
Calculate Maxwell Stress = True
Calculate Nodal Forces = True
Calculate Magnetic Field Strength = True
Procedure = "MagnetoDynamics" "MagnetoDynamicsCalcFields"
Calculate Current Density = True
Calculate Electric Field = True
Calculate Joule Heating = True
Exec Solver = Before Saving
Stabilize = True
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 = Direct
Linear System Direct Method = Umfpack
End
Equation 1
Name = "MG2DYN"
Active Solvers(2) = 1 2
End

Material 1
Name = "Air (room temperature)"
Relative Permeability = 1
Electric Conductivity = 0
End

Material 2
Name = "Copper (generic)"
Relative Permeability = 1
Electric Conductivity = 59.59e6
End
Material 3
Name = "Iron (generic)"
Electric Conductivity = 0
Relative Permeability = 1000
End

Body Force 1
Name = "I+"
Calculate Potential = True
Current Density = 1e7
End

Body Force 2
Name = "I-"
Calculate Potential = True
Current Density = -1e7
End

Body Force 3
Name = "I0"
Calculate Potential = True
Current Density = 0
End
Boundary Condition 1
Target Boundaries(1) = 1
Name = "ff"
Infinity BC = True
End
raback
Site Admin
Posts: 4868
Joined: 22 Aug 2009, 11:57
Antispam: Yes
Location: Espoo, Finland
Contact:

Re: PMSM Simulation Symmetric vs Full Model

Post by raback »

Hi

I checked now the models by Felix. Really nicely prepared ones!

It seems that there is some consistency issue between quarter and half/full models. I plotted the result on top of each other. Attached you can see the quarter model covering angles [45,90+45], half model [90+45,180+45] and the full model the rest. There is a significant discrepancy at the center. I would double check consistency of definitions.

Further, if you compare "res: electromagnetic field energy" you can see that half and full models give exactly the same results while there is significant difference to quarter model.

Is the mesh conforming? In that case you could try to replace "Mortar BC" by "Conforming BC" . These should be exactly the same if the mesh is the same.

-Peter
Attachments
Torque comparison
Torque comparison
TorqueCompare.PNG (241.96 KiB) Viewed 47 times
raback
Site Admin
Posts: 4868
Joined: 22 Aug 2009, 11:57
Antispam: Yes
Location: Espoo, Finland
Contact:

Re: PMSM Simulation Symmetric vs Full Model

Post by raback »

I checked further the really nice case of Felix. It seems that the shaft of the quarter model was accidentally air. With the change

Code: Select all

Body 2 :: 
  ...
  Material = 2
the energies among the different models is the same with a precision of <1.0e-3.

There are some differences in torque still but of course less.

-Peter
Post Reply