3D simulation of a Motor without application of a load

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

3D simulation of a Motor without application of a load

Post by FFF »

Hi everyone,

I run in the following Error while trying to conduct the simulation.

Code: Select all

ELMER SOLVER (v 9.0) STARTED AT: 2024/05/03 12:58:04
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: 9.0 (Rev: unknown, Compiled: 2024-04-28)
MAIN:  Running one task without MPI parallelization.
MAIN:  Running with just one thread per task.
MAIN:  HYPRE library linked in.
MAIN:  MUMPS library linked in.
MAIN:  Lua interpreter linked in.
MAIN: =============================================================
MAIN: 
MAIN: 
MAIN: -------------------------------------
MAIN: Reading Model: 3D_2pole.sif
LoadInputFile: Scanning input file: 3D_2pole.sif
LoadInputFile: Scanning only size info
LoadInputFile: First time visiting
LoadInputFile: Reading base load of sif file
CheckKeyword: Found keyword type assuming suffix 1 for: parameter 2
CheckKeyword: Found keyword type assuming suffix 1 for: parameter 2
LoadInputFile: Loading input file: 3D_2pole.sif
LoadInputFile: Reading base load of sif file
CheckKeyword:  Unlisted keyword: [handle assembly] in section: [solver 1]
CheckKeyword:  Unlisted keyword: [linear system robust start iteration] in section: [solver 1]
CheckKeyword: Found keyword type assuming suffix 1 for: parameter 2
CheckKeyword: Found keyword type assuming suffix 1 for: parameter 2
CheckKeyword:  Unlisted keyword: [torque origin] in section: [component 1]
CheckKeyword:  Unlisted keyword: [torque axis] in section: [component 1]
LoadInputFile: Number of BCs: 2
LoadInputFile: Number of Body Forces: 5
LoadInputFile: Number of Initial Conditions: 0
LoadInputFile: Number of Materials: 20
LoadInputFile: Number of Equations: 1
LoadInputFile: Number of Solvers: 8
LoadInputFile: Number of Bodies: 21
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: [MagnetoDynamics]...[WhitneyAVSolver_Init0]
WhitneyAVSolver_Init0: Setting element type to: "n:1 e:1"
Loading user function library: [MagnetoDynamics]...[MagnetoDynamicsCalcFields_Init0]
Loading user function library: [RigidMeshMapper]...[RigidMeshMapper_Init0]
Loading user function library: [SaveData]...[SaveMaterials_Init0]
Loading user function library: [SaveData]...[SaveBoundaryValues_Init0]
Loading user function library: [SaveData]...[SaveScalars_Init0]
Loading user function library: [SaveData]...[SaveScalars_Init0]
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver_Init0]
LoadMesh: Loading serial mesh!
ElmerAsciiMesh: Performing step: 1
ElmerAsciiMesh: Base mesh name: ./Mesh_1
ReadHeaderFile: Reading header info from file: ./Mesh_1/mesh.header
InitializeMesh: Number of nodes in mesh: 298132
InitializeMesh: Number of bulk elements in mesh: 1714475
InitializeMesh: Number of boundary elements in mesh: 301238
InitializeMesh: Initial number of max element nodes: 4
ElmerAsciiMesh: Performing step: 2
ReadNodesFile: Reading nodes from file: ./Mesh_1/mesh.nodes
SetMeshDimension: Dimension of mesh is: 3
SetMeshDimension: Max dimension of mesh is: 3
ElmerAsciiMesh: Performing step: 3
ReadElementsFile: Reading bulk elements from file: ./Mesh_1/mesh.elements
ElmerAsciiMesh: Performing step: 4
ReadBoundaryFile: Reading boundary elements from file: ./Mesh_1/mesh.boundary
PermuteNodeNumbering: Performing node mapping
ReadTargetNames: Reading names info from file: ./Mesh_1/mesh.names
ReadTargetNames: Mapped 2 body names to indexes
ReadTargetNames: Mapped 21 bc names to indexes
MapBodiesAndBCs: Remapping bodies
MapBodiesAndBCs: Minimum initial body index: 1
MapBodiesAndBCs: Maximum initial body index: 21
MapBodiesAndBCs: Remapping boundaries
MapBodiesAndBCs: Minimum initial boundary index: 22
MapBodiesAndBCs: Maximum initial boundary index: 25
ElmerAsciiMesh: Performing step: 5
CreateDiscontMesh: Creating discontinuous boundaries
CreateDiscontMesh: Number of discontinuous boundary elements: 14398
CreateDiscontMesh: Number of candicate nodes: 7278
CreateDiscontMesh: Number of discontinuous nodes: 7278
CreateDiscontMesh: There seems to be a consistent discontinuous body: 19
CreateDiscontMesh: Number of bulk elements moving: 38666
CreateDiscontMesh: Number of bulk elements staying: 59755
CreateDiscontMesh: Number of related elements moving: 38968
CreateDiscontMesh: Number of related elements staying: 60089
CreateDiscontMesh: All elements marked either moving or staying
EnlargeCoordinates: Increasing number of nodes from 298132 to 305410
CreateDiscontMesh: Creating secondary boundary for Discontinuous gap
EnlargeBoundaryElements: Increasing number of elements from 2015713 to 2030111
CreateDiscontMesh: Number of original bulk elements: 1714475
CreateDiscontMesh: Number of original boundary elements: 315636
CreateDiscontMesh: Number of additional boundary elements: 14398
DropFalseParents: Number of parents no longer parents: 0
ElmerAsciiMesh: Performing step: 6
LoadMesh: Loading mesh done
NonNodalElements: Requested elements require creation of edges
FindMeshEdges: Determining faces in 3D mesh
FindMeshFaces3D: Number of faces found: 3449597
FindMeshEdges: Determining edges in 3D mesh
FindMeshEdges3D: Number of edges found: 2040531
LoadMesh: Preparing mesh done
LoadMesh: Elapsed REAL time:    10.3380 (s)
MeshStabParams: Computing stabilization parameters
MeshStabParams: Elapsed REAL time:     0.1923 (s)
MAIN: -------------------------------------
AddMeshCoordinates: Setting mesh coordinates and time
AddSolvers: Setting up 8 solvers
AddSolvers: Setting up solver 1: mgdyn2d
AddEquationBasics: Using procedure: MagnetoDynamics WhitneyAVSolver
AddEquationBasics: Setting up solver: mgdyn2d
Loading user function library: [MagnetoDynamics]...[WhitneyAVSolver_Init]
Loading user function library: [MagnetoDynamics]...[WhitneyAVSolver_bulk]
Loading user function library: [MagnetoDynamics]...[WhitneyAVSolver]
AddEquationBasics: Time stepping method is: bdf
AddEquationBasics: Creating standard variable: av
OptimizeBandwidth: ---------------------------------------------------------
OptimizeBandwidth: Computing matrix structure for: mgdyn2d
OptimizeBandwidth: Initial bandwidth for mgdyn2d: 2345694
OptimizeBandwidth: ---------------------------------------------------------
AddSolvers: Setting up solver 2: calcfields
AddEquationBasics: Using procedure: MagnetoDynamics MagnetoDynamicsCalcFields
AddEquationBasics: Setting up solver: calcfields
Loading user function library: [MagnetoDynamics]...[MagnetoDynamicsCalcFields_Init]
Loading user function library: [MagnetoDynamics]...[MagnetoDynamicsCalcFields_bulk]
Loading user function library: [MagnetoDynamics]...[MagnetoDynamicsCalcFields]
AddEquationBasics: Time stepping method is: bdf
AddEquationBasics: Creating standard variable: hr_dummy
OptimizeBandwidth: ---------------------------------------------------------
OptimizeBandwidth: Computing matrix structure for: calcfields
OptimizeBandwidth: Initial bandwidth for calcfields: 305162
OptimizeBandwidth: Optimized bandwidth for calcfields: 13454
OptimizeBandwidth: ---------------------------------------------------------
CreateDGPerm: Created permutation for DG nodes: 6857900
CreateDGPerm: Created permutation for DG nodes: 6857900
CreateDGPerm: Created permutation for DG nodes: 6857900
CreateDGPerm: Created permutation for DG nodes: 6857900
CreateDGPerm: Created permutation for DG nodes: 6857900
CreateDGPerm: Created permutation for DG nodes: 6857900
AddSolvers: Setting up solver 3: meshdeform
AddEquationBasics: Using procedure: RigidMeshMapper RigidMeshMapper
AddEquationBasics: Setting up solver: meshdeform
Loading user function library: [RigidMeshMapper]...[RigidMeshMapper_Init]
Loading user function library: [RigidMeshMapper]...[RigidMeshMapper_bulk]
Loading user function library: [RigidMeshMapper]...[RigidMeshMapper]
AddEquationBasics: Time stepping method is: bdf
AddSolvers: Setting up solver 4: savematerials
AddEquationBasics: Using procedure: SaveData SaveMaterials
AddEquationBasics: Setting up solver: savematerials
Loading user function library: [SaveData]...[SaveMaterials_Init]
Loading user function library: [SaveData]...[SaveMaterials_bulk]
Loading user function library: [SaveData]...[SaveMaterials]
AddEquationBasics: Time stepping method is: bdf
AddSolvers: Setting up solver 5: saveboundaryvalues
AddEquationBasics: Using procedure: SaveData SaveBoundaryValues
AddEquationBasics: Setting up solver: saveboundaryvalues
Loading user function library: [SaveData]...[SaveBoundaryValues_Init]
Loading user function library: [SaveData]...[SaveBoundaryValues_bulk]
Loading user function library: [SaveData]...[SaveBoundaryValues]
AddEquationBasics: Time stepping method is: bdf
AddSolvers: Setting up solver 6: savescalars
AddEquationBasics: Using procedure: SaveData SaveScalars
AddEquationBasics: Setting up solver: savescalars
Loading user function library: [SaveData]...[SaveScalars_Init]
Loading user function library: [SaveData]...[SaveScalars_bulk]
Loading user function library: [SaveData]...[SaveScalars]
AddEquationBasics: Time stepping method is: bdf
AddSolvers: Setting up solver 7: savescalars2
AddEquationBasics: Using procedure: SaveData SaveScalars
AddEquationBasics: Setting up solver: savescalars2
Loading user function library: [SaveData]...[SaveScalars_Init]
Loading user function library: [SaveData]...[SaveScalars_bulk]
Loading user function library: [SaveData]...[SaveScalars]
AddEquationBasics: Time stepping method is: bdf
AddSolvers: Setting up solver 8: resultoutputsolver
AddEquationBasics: Using procedure: ResultOutputSolve ResultOutputSolver
AddEquationBasics: Setting up solver: resultoutputsolver
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver_Init]
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver_bulk]
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver]
AddEquationBasics: Time stepping method is: bdf
AddTimeEtc: Setting time and other global variables
MAIN: Random seed initialized to: 314159265
SetInitialConditions: Setting up initial conditions (if any)
MAIN: Number of timesteps to be saved: 60
MAIN: 
MAIN: -------------------------------------
MAIN: Time: 1/60:   4.990E-05
MAIN: -------------------------------------
MAIN: 
SingleSolver: Attempting to call solver: 3
SingleSolver: Solver Equation string is: meshdeform
RigidMeshMapper: ---------------------------------------
RigidMeshMapper: Performing analytic mesh mapping
RigidMeshMapper: ---------------------------------------
RigidMeshMapper: Storing original coordinates
StoreOriginalCoordinates: Original coordinates already stored
StoreOriginalCoordinates: Original coordinates stored
RigidMeshMapper:  Number of nodes mapped:        21851
RigidMeshMapper:  Coordinate mapping time:   0.13997600000000077
RigidMeshMapper: All done
DefaultFinish: Finished solver: meshdeform
GenerateProjectors: Generating various boundary projectors
GenerateProjectors: Generating mortar conditions for BC: 2
PeriodicProjector: -----------------------------------------------------
PeriodicProjector: Creating projector between BCs 2 and 4
CreateInterfaceMeshes: Making a list of elements at interface
CreateInterfaceMeshes: Number of interface elements: 14398, 14398
CreateInterfaceMeshes: Number of interface nodes: 7278, 7278
PeriodicProjector: Enforcing > Level Projector = True < with dimensional reduction
RotationalInterfaceMeshes: Initial extrema for this boundary (x,y,z)
RotationalInterfaceMeshes: Coordinate 1:   -1.200E-02   1.200E-02
RotationalInterfaceMeshes: Coordinate 2:   -1.200E-02   1.200E-02
RotationalInterfaceMeshes: Coordinate 3:   -3.200E-02   7.200E-02
RotationalInterfaceMeshes: Cylindrical interface seems to be a full circle
RotationalInterfaceMeshes: Transformed extrema for this boundary (phi,z,r)
RotationalInterfaceMeshes: Coordinate 1:   -1.800E+02   1.753E+02
RotationalInterfaceMeshes: Coordinate 2:   -3.200E-02   7.200E-02
RotationalInterfaceMeshes: Coordinate 3:    1.200E-02   1.200E-02
RotationalInterfaceMeshes: Initial extrema for target boundary (x,y,z)
RotationalInterfaceMeshes: Coordinate 1:   -1.200E-02   1.200E-02
RotationalInterfaceMeshes: Coordinate 2:   -1.200E-02   1.200E-02
RotationalInterfaceMeshes: Coordinate 3:   -3.200E-02   7.200E-02
RotationalInterfaceMeshes: Cylindrical interface seems to be a full circle
RotationalInterfaceMeshes: Transformed extrema for target boundary (phi,z,r)
RotationalInterfaceMeshes: Coordinate 1:   -1.800E+02   1.800E+02
RotationalInterfaceMeshes: Coordinate 2:   -3.200E-02   7.200E-02
RotationalInterfaceMeshes: Coordinate 3:    1.200E-02   1.200E-02
RotationalInterfaceMeshes: Radius of the rotational interface:   1.200E-02
RotationalInterfaceMeshes: Discrepancy from constant radius for Mesh1:   8.322E-12
RotationalInterfaceMeshes: Discrepancy from constant radius for Mesh2:   8.322E-12
RotationalInterfaceMeshes: The effective interface meshes are 2D
LevelProjector: Creating projector for a levelized mesh
CheckMeshSkew: Checking mesh skew
LevelProjector: This mesh has also triangles
LevelProjector: Maximum skew in this mesh:    8.923E+01
CheckMeshSkew: Checking mesh skew
LevelProjector: Target mesh has also triangles
LevelProjector: Maximum skew in target mesh:    8.965E+01
WARNING:: LevelProjector: Target mesh has too much skew, using generic integrator when needed!
LevelProjector: Edge projection for the BC requires weak projector!
ERROR:: LevelProjector: We cannot use fully strong projector as wished in this geometry!
The sif I used is this:

Code: Select all

Header
  CHECK KEYWORDS "Warn"
  Mesh DB "." "Mesh_1"
 Results Directory "result_3D_no_load"
End

Simulation
  Coordinate System = Cartesian 3D
  Simulation Type = Transient
  Timestepping Method = BDF
  BDF Order = 2
  Max Output Level =10 
  Timestep intervals = 60
  Timestep Sizes = 4.990019960079841e-05
  Use Mesh Names = Logical True ! Use the mesh.names from Salome/ElmerGrid
End

Constants
  Stefan Boltzmann = 5.6704e-08
End

! main
Equation 1
  Active Solvers(2) = 1 2   ! mg_dyn_solver, flux_solver, 
End


! mg_dyn_solver
Solver 1
  Equation = MgDyn2D
  Procedure = "MagnetoDynamics" "WhitneyAVSolver"
  Exec Solver = Always
  Apply Mortar BCs = Logical True
  Mortar BCs Additive = Logical True
  Handle Assembly = Logical True
  Edge Basis = Logical True

   Linear System Solver = Iterative
  Linear System Iterative Method = idrs 

  Linear System Robust = True
  Linear System Robust Start Iteration = Integer 100

  Edge Basis = True
  Linear System Preconditioning = ILU1

  Linear System Max Iterations = 5000
  Linear System Robust = True
  Linear System Residual Output = 100
  Linear System Convergence Tolerance = 1.0e-7

  Linear System Abort Not Converged  = False

  Nonlinear System Consistent Norm = True
  Steady State Convergence Tolerance = 1e-5

  Nonlinear System Convergence Without Constraints = Logical True
  
  
  Optimize Bandwidth = Logical False

  Linear System ILUT Tolerance = 1e-06

  Linear System Precondition Recompute = 1

 End

! flux_solver
Solver 2
  Equation = CalcFields
  Procedure = "MagnetoDynamics" "MagnetoDynamicsCalcFields"
  Exec Solver = Always
  Angular Frequency = 2098.583892597982
  Calculate Magnetic Flux = Logical True
  Calculate Magnetic Field Strength = Logical True
  Calculate Magnetic Vector Potential = Logical True
  Calculate Electric Field = Logical True
  Calculate Current Density = Logical True
  Calculate Nodal Forces = Logical True
  Linear System Solver = Iterative
  Linear System Iterative Method = BiCGStabL
  Linear System Max Iterations = 1000
  Linear System Convergence Tolerance = 1e-10
  Linear System Preconditioning = ILU0
  Linear System ILUT Tolerance = 1e-06
  Linear System Precondition Recompute = 1
  Linear System Abort Not Converged = Logical False
  Linear System Residual Output = 50
End

! translate_solver
Solver 3
  Equation = MeshDeform
  Procedure = "RigidMeshMapper" "RigidMeshMapper"
  Exec Solver = Before Timestep
  Translate Before Rotate = Logical True
  Cumulative Displacements = Logical False
End

! mat_solver
Solver 4
  Equation = SaveMaterials
  Procedure = "SaveData" "SaveMaterials"
  Exec Solver = After Timestep
  Parameter 2 = Relative Permeability
End

! bndy_solver
Solver 5
  Equation = SaveBoundaryValues
  Procedure = "SaveData" "SaveBoundaryValues"
  Exec Solver = After Timestep
End

! scalar_solver
Solver 6
  Equation = SaveScalars
  Procedure = "SaveData" "SaveScalars"
  Filename = scalars.dat
  Exec Solver = After Timestep
End

! scalar_solver2
Solver 7
  Equation = SaveScalars2
  Procedure = "SaveData" "SaveScalars"
  Filename = fluxDens.dat
  Exec Solver = after timestep
  Save Coordinates(3,3) = Real 0.01299 0.0075 0 0.02075 0.0 0 0.01175 0 0
  Moving Mesh = Logical True
  Save component results = Logical False
End

! fields_solver
Solver 8
  Equation = ResultOutputSolver
  Procedure = "ResultOutputSolve" "ResultOutputSolver"
  Exec Solver = After Timestep
  Output File Name = fields
  Output Format = vtu
  Single Precision = Logical True
  Binary Output = Logical False
  Ascii Output = Logical True
  Save Geometry Ids = Logical True
  Discontinuous Bodies = Logical True
End


! n35eh_RingMagnet_1
Material 1
  Relative Permeability = Real 1.07
  Electric Conductivity = Real 0
  Magnetization 1 = Variable Time, timestep size
    Real MATC "877583.3310674601*cos(2098.583892597982*(tx(0)-tx(1))+0.0)"
  Magnetization 2 = Variable Time, timestep size
    Real MATC "877583.3310674601*sin(2098.583892597982*(tx(0)-tx(1))+0.0)"
End

! n35eh_RingMagnet_2
Material 2
  Relative Permeability = Real 1.07
  Electric Conductivity = Real 0
  Magnetization 1 = Variable Time, timestep size
    Real MATC "877583.3310674601*cos(2098.583892597982*(tx(0)-tx(1))+0.0)"
  Magnetization 2 = Variable Time, timestep size
    Real MATC "877583.3310674601*sin(2098.583892597982*(tx(0)-tx(1))+0.0)"
End

! steel_Shaft_3
Material 3
  H-B Curve = Variable coupled iter
	Real Monotone Cubic
		0.0 0.0
		0.472731 31.85111
		0.951703 62.22722
		1.191549 92.09444
		1.311137 118.01111
		1.327299 122.99778
		1.362771 136.41
		1.443033 176.70333
		1.467546 196.00333
		1.519306 243.64889
		1.526116 251.34556
		1.597592 409.27778
		1.606725 444.70333
		1.6691 999.49778
		1.691862 1437.52222
		1.742464 2570.96667
		1.781541 3976.11111
		1.819971 5600.16667
		1.870181 7968.98889
		1.936121 11696.77778
		2.025563 17893.11111
		2.108638 27661.22222
		2.15167 36227.88889
		2.172291 41894.55556
		2.284689 106704.4444
		2.296415 115956.6667
		2.41177 203216.6667
		2.425393 214057.7778
		2.500904 271840.0
		2.562768 320990.0
	End

  Electric Conductivity = Real 0
End

! air_AirGap_Stator_4
Material 4
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End

! copper_RoundWireConductor_5
Material 5
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End

! copper_RoundWireConductor_6
Material 6
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End

! copper_RoundWireConductor_7
Material 7
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End

! copper_RoundWireConductor_8
Material 8
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End

! copper_RoundWireConductor_9
Material 9
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End

! copper_RoundWireConductor_10
Material 10
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End

! copper_RoundWireConductor_11
Material 11
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End

! copper_RoundWireConductor_12
Material 12
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End

! copper_RoundWireConductor_13
Material 13
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End

! copper_RoundWireConductor_14
Material 14
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End

! copper_RoundWireConductor_15
Material 15
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End

! copper_RoundWireConductor_16
Material 16
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End

! a_M400_50A_StatorSheetForm1_17
Material 17
  H-B Curve = Variable coupled iter
	Real Monotone Cubic
		0 0
		0.31 223.0
		0.57 415.0
		0.79 618.0
		0.97 830.0
		1.1 1040.0
		1.2 1320.0
		1.3 1800.0
		1.4 2600.0
		1.5 3800.0
		1.6 5600.0
		1.67 7700.0
		1.74 10700.0
		1.8 14000.0
		1.86 18500.0
		1.94 29000.0
		2.04 48000.0
		2.07 55000.0
		2.1 68000.0
		2.2 180000.0
		2.4 450000.0
		2.6 800000.0
		2.8 1160000.0
		3.2 2000000.0
		4.0 3700000.0
	End

  Electric Conductivity = Real 0
End

! air_AirGap_18
Material 18
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End

! air_AirGap_19
Material 19
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End

! air_AirGap_20
Material 20
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End


! n35eh_RingMagnet_1
Body 1
  Name =  magnet0
  Equation = 1  ! main
  Material = 1  ! n35eh_RingMagnet_1
  Body Force = 1  ! n35eh_RingMagnet_1
End

! n35eh_RingMagnet_2
Body 2
  Name = magnet1
  Equation = 1  ! main
  Material = 2  ! n35eh_RingMagnet_2
  Body Force = 2  ! n35eh_RingMagnet_2
End

! steel_Shaft_3
Body 3
  Name =  shaft
  Equation = 1  ! main
  Material = 3  ! steel_Shaft_3
  Body Force = 3  ! steel_Shaft_3
End

! air_AirGap_Stator_4
Body 4
  Name =  stator_slot_air
  Equation = 1  ! main
  Material = 4  ! air_AirGap_Stator_4
End

! copper_RoundWireConductor_5
Body 5
  Name =  stator_slot_0_lce
  Equation = 1  ! main
  Material = 5  ! copper_RoundWireConductor_5
End

! copper_RoundWireConductor_6
Body 6
  Name =  stator_slot_0_lle
  Equation = 1  ! main
  Material = 6  ! copper_RoundWireConductor_6
End

! copper_RoundWireConductor_7
Body 7
  Name =  stator_slot_1_lce
  Equation = 1  ! main
  Material = 7  ! copper_RoundWireConductor_7
 End

! copper_RoundWireConductor_8
Body 8
  Name =  stator_slot_1_lle
  Equation = 1  ! main
  Material = 8  ! copper_RoundWireConductor_8
End

! copper_RoundWireConductor_9
Body 9
  Name =  stator_slot_2_lce
  Equation = 1  ! main
  Material = 9  ! copper_RoundWireConductor_9
End

! copper_RoundWireConductor_10
Body 10
  Name =  stator_slot_2_lle
  Equation = 1  ! main
  Material = 10  ! copper_RoundWireConductor_10
 End

! copper_RoundWireConductor_11
Body 11
  Name = stator_slot_3_lce 
  Equation = 1  ! main
  Material = 11  ! copper_RoundWireConductor_11
 End

! copper_RoundWireConductor_12
Body 12
  Name =  stator_slot_3_lle
  Equation = 1  ! main
  Material = 12  ! copper_RoundWireConductor_12
 End

! copper_RoundWireConductor_13
Body 13
  Name =  stator_slot_4_lce
  Equation = 1  ! main
  Material = 13  ! copper_RoundWireConductor_13
 End

! copper_RoundWireConductor_14
Body 14
  Name =  stator_slot_4_lle
  Equation = 1  ! main
  Material = 14  ! copper_RoundWireConductor_14
 End

! copper_RoundWireConductor_15
Body 15
  Name =  stator_slot_5_lce
  Equation = 1  ! main
  Material = 15  ! copper_RoundWireConductor_15
 End

! copper_RoundWireConductor_16
Body 16
  Name =  stator_slot_5_lle
  Equation = 1  ! main
  Material = 16  ! copper_RoundWireConductor_16
  End

! a_M400_50A_StatorSheetForm1_17
Body 17
  Name = stator 
  Equation = 1  ! main
  Material = 17  ! a_M400_50A_StatorSheetForm1_17
End

! air_AirGap_18
Body 18
  Name =  stator_airgap
  Equation = 1  ! main
  Material = 18  ! air_AirGap_18
End

! air_AirGap_19
Body 19
  Name =  middle_airgap
  Equation = 1  ! main
  Material = 19  ! air_AirGap_19
  Body Force = 4  ! air_AirGap_19
End

! air_AirGap_20
Body 20
  Name =  rotor_airgap
  Equation = 1  ! main
  Material = 20  ! air_AirGap_20
  Body Force = 5  ! air_AirGap_20
End

! Airbox
Body 21
  Name = airbox 
  Equation = 1  ! main
  Material = 20  ! air_AirGap_20
 
End


! outer
Boundary Condition 1
  Name = outer_airbox_face
  AV {e} = real 0 !Vector Potential
  AV = real 0	  !scalar Potential
End

! stator_airgap
Boundary Condition 2
  Name =  rotational_mortar_airgap_curve
  Mortar BC = 4
 !Cylindrical Projector = True
  Rotational Projector = Logical True
 !Projector Skip Nodes = True
  Discontinuous Boundary = Logical True
 Level Projector Extruded Edges Strong= False
  !Level Projector = False
 level projector strong= false
End


! n35eh_RingMagnet_1
Body Force 1
  Mesh Rotate 3 = Variable Time
	Real MATC "(180/pi)*2098.583892597982*tx"
End

! n35eh_RingMagnet_2
Body Force 2
  Mesh Rotate 3 = Variable Time
	Real MATC "(180/pi)*2098.583892597982*tx"
End

! steel_Shaft_3
Body Force 3
  Mesh Rotate 3 = Variable Time
	Real MATC "(180/pi)*2098.583892597982*tx"
End

! air_AirGap_19
Body Force 4
  Mesh Rotate 3 = Variable Time
	Real MATC "(180/pi)*2098.583892597982*tx"
End

! air_AirGap_20
Body Force 5
  Mesh Rotate 3 = Variable Time
	Real MATC "(180/pi)*2098.583892597982*tx"
End


! rotor
Component 1
  Name = rotor
  Master Bodies(3) = 1 2 3
  Calculate Magnetic Force = Logical True
  Calculate Magnetic Torque = Logical True
  Torque Origin(3) = Real 0.0 0.0 0.0
  Torque Axis(3) = Real 0.0 0.0 1.0
End
overview.png
(218.58 KiB) Not downloaded yet
mesh.png
(376.73 KiB) Not downloaded yet
In the Manual of the ElmerSolver the following is written about Level Projector:
[...] There are many additional keywords that apply to the level projector.

1. Where do I find the additional keywords?
As you can see in the .sif, I tried a few keywords from the manual, as well as listed here:
https://github.com/ElmerCSC/elmerfem/bl ... R.KEYWORDS

...without success.

2. What can I do to make the simulation work? Do I have to change the strong projector into a weak? How can I do this?

3. In the output of the solver it can be seen that maximum skew in target mesh: 8.965E+01. I depicted the skew in Salome where it is max. 38.1 in the mortared boundary and 54 in the total Mesh_1. What could be the reason for the huge difference between the calculated skew in Elmer and Salome?

Any help is highly appreachiated!

BR,

Felix
Attachments
simulationfiles.zip
(13.04 KiB) Downloaded 14 times
kevinarden
Posts: 2364
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: 3D simulation of a Motor without application of a load

Post by kevinarden »

This allowed for a solution to be obtained

! stator_airgap
Boundary Condition 2
Name = rotational_mortar_airgap_curve
Mortar BC = 4
!Cylindrical Projector = True
! Rotational Projector = Logical True
!Projector Skip Nodes = True
! Discontinuous Boundary = Logical True
Level Projector Extruded Edges Strong= False
!Level Projector = False
! level projector strong = false
Anti Rotational Projector = Logical True
Galerkin Projector = Logical True
End
flux.png
(135.47 KiB) Not downloaded yet
kevinarden
Posts: 2364
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: 3D simulation of a Motor without application of a load

Post by kevinarden »

animate.gif
animate.gif (852 KiB) Viewed 144 times
FFF
Posts: 33
Joined: 11 Jun 2021, 11:00
Antispam: Yes

Re: 3D simulation of a Motor without application of a load

Post by FFF »

Hi Kevin,

Thank you very much!

Could you please explain why it must be the Anti Rotational Projector?
As I understood so far, the Anti is used when you want to project the solution multiplied by -1. As this is the full model and no symmetry projectors are used how does this led to the solution?

Is the Galerkin Projector always needed if one wants to simulate non-conforming BC or only in particular cases?

Thanks again and best regards,

Felix
kevinarden
Posts: 2364
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: 3D simulation of a Motor without application of a load

Post by kevinarden »

I was just looking through these examples
https://github.com/ElmerCSC/elmer-elmag

It will run without the Anti Rotational Projector, it is not needed.

The choice of projector I think is mainly based on geometry and solution type.
FFF
Posts: 33
Joined: 11 Jun 2021, 11:00
Antispam: Yes

Re: 3D simulation of a Motor without application of a load

Post by FFF »

I was searching for an explanation of the Galerkin Projector in the Elmersolver-Manual. Unfortunately it is not mentioned there. But searching the Forum led to some success and valuable insights ;)

The source-post of the quote below can be found here: viewtopic.php?p=17826#p17826
There is a infrastructure in Elmer that can create projectors between boundaries. Some are strong (node-to-surface), but the better ones are weak (galerkin, surface-to-surface). Basically these create conditions how dofs on either side of the boundary (say a and b) are expressed in terms of the other ones, say Ru_a=Qu_b, or in short Pu=0.
My initial error was about strong and weak projectors. A discussion can be found here: viewtopic.php?t=5842

The clarifications below were found here: https://github.com/ElmerCSC/elmerfem/co ... 3ba3ad4ca9
! We have a weak projector if it is requested
WeakProjector = ListGetLogical( BC, 'Galerkin Projector', Found )

StrongProjector = ListGetLogical( BC,'Level Projector Strong',Found )
IF( StrongProjector .AND. WeakProjector ) THEN
CALL Fatal('LevelProjector','Projector cannot be weak (Galerkin) and strong at the same time!')
END IF
! The projectors for nodes and edges can be created either in a strong way
! or weak way in the special case that the nodes are located in extruded layers.
! The strong way results to a sparse projector. For constant
! levels it can be quite optimal, except for the edges with a skew.
! If strong projector is used for all edges then "StrideProjector" should
! be recovered.
FFF
Posts: 33
Joined: 11 Jun 2021, 11:00
Antispam: Yes

Re: 3D simulation of a Motor without application of a load

Post by FFF »

Hi everyone,

I tried different keywords to fix the implausible results of the simulation with the following examples:
https://github.com/ElmerCSC/elmer-elmag ... ase_3d.sif
https://github.com/ElmerCSC/elmerfem/bl ... c/case.sif

Unfortunately without success yet.

I also changed the geometry that the shaft has a equal length compared to the stator and magnets (to make it comparable to the 2D case).

I changed the mesh of the rotational mortar face to be rectangular in one case compared to triangular elements in the former case
3Dmeshes.png
(582.35 KiB) Not downloaded yet
I simulated 60 steps in the 2D case, and 17 in the two 3D cases. See the torque of the three cases below.
Torque.png
(221.9 KiB) Not downloaded yet
When I compare the flux density, about the first 6 steps seem to coincide between 2D and the 3D cases. Afterwards an implausible distribution is generated in the vicinity of mortar boundary of the 3D cases.
b-field_size_compressed.gif
(939.53 KiB) Not downloaded yet

What makes me suspicious, is that at the end of the file there are several unused keywords in my solver output. This is not the case in the mentioned examples above.

Code: Select all

MAIN: Reporting unused list entries for sif improvement!
MAIN: If you do not want these lines undefine > DEVEL_LISTUSAGE < !
   Unused keywords:
       Constants             stefan boltzmann
       Boundary Condition 1  av {f}
       Boundary Condition 2  rotational projector
       Boundary Condition 2  galerkin projector
       Boundary Condition 2  projector skip nodes
       Solver 1              mortar bcs additive
       Solver 1              helmholtzprojector: apply conforming bcs
       Solver 1              export lagrange multiplier
       Solver 1              steady state convergence tolerance
       Solver 1              nonlinear system consistent norm
       Solver 2              calculate magnetic flux
       Solver 2              calculate nodal forces
       Solver 2              linear system ilut tolerance
       Solver 2              linear system abort not converged
       Solver 4              parameter 2
       Solver 8              ascii output
MAIN: *** Elmer Solver: ALL DONE ***
ReleaseMeshFaceTables: Releasing number of faces: 1515256
MAIN: The end
SOLVER TOTAL TIME(CPU,REAL):     14851.66     5648.71
ELMER SOLVER FINISHED AT: 2024/05/16 13:47:19

My current sif is

Code: Select all

Header
  CHECK KEYWORDS "Warn"
  Mesh DB "." "tets_only"
 Results Directory "result_3D_no_load"
End

Simulation
  Coordinate System = Cartesian 3D
  Simulation Type = Transient
  Timestepping Method = BDF
  BDF Order = 2
  Max Output Level =10 
  Timestep intervals =17 
  Timestep Sizes = 4.990019960079841e-05
  Use Mesh Names = Logical True ! Use the mesh.names from Salome/ElmerGrid
End

Constants
  Stefan Boltzmann = 5.6704e-08
End

! main
Equation 1
  Active Solvers(2) = 1 2   ! mg_dyn_solver, flux_solver, 
End


! mg_dyn_solver
Solver 1
!  Exec Solver = Always
  Equation = MgDyn3D

  Variable = "AV"
  Procedure = "MagnetoDynamics" "WhitneyAVSolver"

 
 Apply Mortar BCs = True
 Mortar BCs Additive = True
  HelmholtzProjector: Apply Conforming BCs = True

  Export Lagrange Multiplier = True
  Steady State Convergence Tolerance = 1e-4

  Newton-Raphson Iteration = True

  NonLinear System Relaxation Factor = 1.0
  Nonlinear System Newton After Tolerance = 1.e-3
  Nonlinear System Max Iterations = 50
  Nonlinear System Convergence Tolerance = 1e-6

!  Linear System Symmetric = True
  Linear System Solver = Iterative
  Linear System Iterative Method = idrs 

  Linear System Robust = True
  Linear System Robust Start Iteration = Integer 100

  Edge Basis = True
  Linear System Preconditioning = ILU1

  Linear System Max Iterations = 5000
  Linear System Robust = True
  Linear System Residual Output = 100
  Linear System Convergence Tolerance = 1.0e-7

  Linear System Abort Not Converged  = False

  Nonlinear System Consistent Norm = True
  Steady State Convergence Tolerance = 1e-5

  Fix Input Current Density = True

 
 End

! flux_solver
Solver 2
  Equation = CalcFields
  Procedure = "MagnetoDynamics" "MagnetoDynamicsCalcFields"
  Exec Solver = Always
  Angular Frequency = 2098.583892597982
  Calculate Magnetic Flux = Logical True
  Calculate Magnetic Field Strength = Logical True
  Calculate Magnetic Vector Potential = Logical True
  Calculate Electric Field = Logical True
  Calculate Current Density = Logical True
  Calculate Nodal Forces = Logical True
  Linear System Solver = Iterative
  Linear System Iterative Method = BiCGStabL
  Linear System Max Iterations = 1000
  Linear System Convergence Tolerance = 1e-10
  Linear System Preconditioning = ILU0
  Linear System ILUT Tolerance = 1e-06
  Linear System Precondition Recompute = 1
  Linear System Abort Not Converged = Logical False
  Linear System Residual Output = 50
End

! translate_solver
Solver 3
  Equation = MeshDeform
  Procedure = "RigidMeshMapper" "RigidMeshMapper"
  Exec Solver = Before Timestep
  Translate Before Rotate = Logical True
  Cumulative Displacements = Logical False
End

! mat_solver
Solver 4
  Equation = SaveMaterials
  Procedure = "SaveData" "SaveMaterials"
  Exec Solver = After Timestep
  Parameter 2 = Relative Permeability
End

! bndy_solver
Solver 5
  Equation = SaveBoundaryValues
  Procedure = "SaveData" "SaveBoundaryValues"
  Exec Solver = After Timestep
End

! scalar_solver
Solver 6
  Equation = SaveScalars
  Procedure = "SaveData" "SaveScalars"
  Filename = scalars.dat
  Exec Solver = After Timestep
  Variable 1 = Time
  Variable 2 = Position
  Operator 3 = cpu time
  Variable 4 = String "Magnetic Vector Potential 3"
  Mask Name 4 = s_slot_5_A+
  Operator 4 = Body Int
  Variable 5 = String "Magnetic Vector Potential 3"
  Mask Name 5 = s_slot_6_A+
  Operator 5 = Body Int
  Variable 6 = String "Magnetic Vector Potential 3"
  Mask Name 6 = s_slot_7_C-
  Operator 6 = Body Int
  Variable 7 = String "Magnetic Vector Potential 3"
  Mask Name 7 = s_slot_8_C-
  Operator 7 = Body Int
  Variable 8 = String "Magnetic Vector Potential 3"
  Mask Name 8 = s_slot_9_B+
  Operator 8 = Body Int
  Variable 9 = String "Magnetic Vector Potential 3"
  Mask Name 9 = s_slot_10_B+
  Operator 9 = Body Int
  Variable 10 = String "Magnetic Vector Potential 3"
  Mask Name 10 = s_slot_11_A-
  Operator 10 = Body Int
  Variable 11 = String "Magnetic Vector Potential 3"
  Mask Name 11 = s_slot_12_A-
  Operator 11 = Body Int
  Variable 12 = String "Magnetic Vector Potential 3"
  Mask Name 12 = s_slot_13_C+
  Operator 12 = Body Int
  Variable 13 = String "Magnetic Vector Potential 3"
  Mask Name 13 = s_slot_14_C+
  Operator 13 = Body Int
  Variable 14 = String "Magnetic Vector Potential 3"
  Mask Name 14 = s_slot_15_B-
  Operator 14 = Body Int
  Variable 15 = String "Magnetic Vector Potential 3"
  Mask Name 15 = s_slot_16_B-
  Operator 15 = Body Int
End

! scalar_solver2
Solver 7
  Equation = SaveScalars2
  Procedure = "SaveData" "SaveScalars"
  Filename = fluxDens.dat
  Exec Solver = after timestep
  Save Coordinates(3,3) = Real 0.01299 0.0075 0 0.02075 0.0 0 0.01175 0 0
  Moving Mesh = Logical True
  Save component results = Logical False
End

! fields_solver
Solver 8
  Equation = ResultOutputSolver
  Procedure = "ResultOutputSolve" "ResultOutputSolver"
  Exec Solver = After Timestep
  Output File Name = fields
  Output Format = vtu
  Single Precision = Logical True
  Binary Output = Logical False
  Ascii Output = Logical True
  Save Geometry Ids = Logical True
  Discontinuous Bodies = Logical True
End


! n35eh_RingMagnet_1
Material 1
  Relative Permeability = Real 1.07
  Electric Conductivity = Real 0
  Magnetization 1 = Variable Time, timestep size
    Real LUA "877583.3310674601*math.cos(2098.583892597982*tx[0]+0.0)"
  Magnetization 2 = Variable Time, timestep size
    Real LUA "877583.3310674601*math.sin(2098.583892597982*tx[0]+0.0)"
End

! n35eh_RingMagnet_2
Material 2
  Relative Permeability = Real 1.07
  Electric Conductivity = Real 0
  Magnetization 1 = Variable Time, timestep size
    Real LUA "877583.3310674601*math.cos(2098.583892597982*tx[0]+0.0)"
  Magnetization 2 = Variable Time, timestep size
    Real LUA "877583.3310674601*math.sin(2098.583892597982*tx[0]+0.0)"
End

! steel_Shaft_3
Material 3
  H-B Curve = Variable coupled iter
	Real Monotone Cubic
		0.0 0.0
		0.472731 31.85111
		0.951703 62.22722
		1.191549 92.09444
		1.311137 118.01111
		1.327299 122.99778
		1.362771 136.41
		1.443033 176.70333
		1.467546 196.00333
		1.519306 243.64889
		1.526116 251.34556
		1.597592 409.27778
		1.606725 444.70333
		1.6691 999.49778
		1.691862 1437.52222
		1.742464 2570.96667
		1.781541 3976.11111
		1.819971 5600.16667
		1.870181 7968.98889
		1.936121 11696.77778
		2.025563 17893.11111
		2.108638 27661.22222
		2.15167 36227.88889
		2.172291 41894.55556
		2.284689 106704.4444
		2.296415 115956.6667
		2.41177 203216.6667
		2.425393 214057.7778
		2.500904 271840.0
		2.562768 320990.0
	End

  Electric Conductivity = Real 0
End

! air_AirGap_Stator_4
Material 4
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End

! copper_RoundWireConductor_5
Material 5
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End

! copper_RoundWireConductor_6
Material 6
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End

! copper_RoundWireConductor_7
Material 7
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End

! copper_RoundWireConductor_8
Material 8
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End

! copper_RoundWireConductor_9
Material 9
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End

! copper_RoundWireConductor_10
Material 10
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End

! copper_RoundWireConductor_11
Material 11
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End

! copper_RoundWireConductor_12
Material 12
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End

! copper_RoundWireConductor_13
Material 13
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End

! copper_RoundWireConductor_14
Material 14
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End

! copper_RoundWireConductor_15
Material 15
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End

! copper_RoundWireConductor_16
Material 16
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End

! a_M400_50A_StatorSheetForm1_17
Material 17
  H-B Curve = Variable coupled iter
	Real Monotone Cubic
		0 0
		0.31 223.0
		0.57 415.0
		0.79 618.0
		0.97 830.0
		1.1 1040.0
		1.2 1320.0
		1.3 1800.0
		1.4 2600.0
		1.5 3800.0
		1.6 5600.0
		1.67 7700.0
		1.74 10700.0
		1.8 14000.0
		1.86 18500.0
		1.94 29000.0
		2.04 48000.0
		2.07 55000.0
		2.1 68000.0
		2.2 180000.0
		2.4 450000.0
		2.6 800000.0
		2.8 1160000.0
		3.2 2000000.0
		4.0 3700000.0
	End

  Electric Conductivity = Real 0
End

! air_AirGap_18
Material 18
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End

! air_AirGap_19
Material 19
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End

! air_AirGap_20
Material 20
  Relative Permeability = Real 1.0
  Electric Conductivity = Real 0
End


! n35eh_RingMagnet_1
Body 1
  Name =  magnet0
  Equation = 1  ! main
  Material = 1  ! n35eh_RingMagnet_1
  Body Force = 1  ! n35eh_RingMagnet_1
End

! n35eh_RingMagnet_2
Body 2
  Name = magnet1
  Equation = 1  ! main
  Material = 2  ! n35eh_RingMagnet_2
  Body Force = 2  ! n35eh_RingMagnet_2
End

! steel_Shaft_3
Body 3
  Name =  shaft
  Equation = 1  ! main
  Material = 3  ! steel_Shaft_3
  Body Force = 3  ! steel_Shaft_3
End

! air_AirGap_Stator_4
Body 4
  Name =  stator_slot_air
  Equation = 1  ! main
  Material = 4  ! air_AirGap_Stator_4
End

! copper_RoundWireConductor_5
Body 5
  Name =  stator_slot_0_lce
  Equation = 1  ! main
  Material = 5  ! copper_RoundWireConductor_5
  Body Force = 7  ! s_slot_5_A+
  s_slot_5_A+ = Logical True
End

! copper_RoundWireConductor_6
Body 6
  Name =  stator_slot_0_lle
  Equation = 1  ! main
  Material = 6  ! copper_RoundWireConductor_6
  Body Force = 6  ! s_slot_6_A+
  s_slot_6_A+ = Logical True
End

! copper_RoundWireConductor_7
Body 7
  Name =  stator_slot_1_lce
  Equation = 1  ! main
  Material = 7  ! copper_RoundWireConductor_7
  Body Force = 9  ! s_slot_7_C-
  s_slot_7_C- = Logical True
End

! copper_RoundWireConductor_8
Body 8
  Name =  stator_slot_1_lle
  Equation = 1  ! main
  Material = 8  ! copper_RoundWireConductor_8
  Body Force = 8  ! s_slot_8_C-
  s_slot_8_C- = Logical True
End

! copper_RoundWireConductor_9
Body 9
  Name =  stator_slot_2_lce
  Equation = 1  ! main
  Material = 9  ! copper_RoundWireConductor_9
  Body Force = 11  ! s_slot_9_B+
  s_slot_9_B+ = Logical True
End

! copper_RoundWireConductor_10
Body 10
  Name =  stator_slot_2_lle
  Equation = 1  ! main
  Material = 10  ! copper_RoundWireConductor_10
  Body Force = 10  ! s_slot_10_B+
  s_slot_10_B+ = Logical True
End

! copper_RoundWireConductor_11
Body 11
  Name = stator_slot_3_lce 
  Equation = 1  ! main
  Material = 11  ! copper_RoundWireConductor_11
  Body Force = 13  ! s_slot_11_A-
  s_slot_11_A- = Logical True
End

! copper_RoundWireConductor_12
Body 12
  Name =  stator_slot_3_lle
  Equation = 1  ! main
  Material = 12  ! copper_RoundWireConductor_12
  Body Force = 12  ! s_slot_12_A-
  s_slot_12_A- = Logical True
End

! copper_RoundWireConductor_13
Body 13
  Name =  stator_slot_4_lce
  Equation = 1  ! main
  Material = 13  ! copper_RoundWireConductor_13
  Body Force = 15  ! s_slot_13_C+
  s_slot_13_C+ = Logical True
End

! copper_RoundWireConductor_14
Body 14
  Name =  stator_slot_4_lle
  Equation = 1  ! main
  Material = 14  ! copper_RoundWireConductor_14
  Body Force = 14  ! s_slot_14_C+
  s_slot_14_C+ = Logical True
End

! copper_RoundWireConductor_15
Body 15
  Name =  stator_slot_5_lce
  Equation = 1  ! main
  Material = 15  ! copper_RoundWireConductor_15
  Body Force = 17  ! s_slot_15_B-
  s_slot_15_B- = Logical True
End

! copper_RoundWireConductor_16
Body 16
  Name =  stator_slot_5_lle
  Equation = 1  ! main
  Material = 16  ! copper_RoundWireConductor_16
  Body Force = 16  ! s_slot_16_B-
  s_slot_16_B- = Logical True
End

! a_M400_50A_StatorSheetForm1_17
Body 17
  Name = stator 
  Equation = 1  ! main
  Material = 17  ! a_M400_50A_StatorSheetForm1_17
End

! air_AirGap_18
Body 18
  Name =  stator_airgap
  Equation = 1  ! main
  Material = 18  ! air_AirGap_18
End

! air_AirGap_19
Body 19
  Name =  middle_airgap
  Equation = 1  ! main
  Material = 19  ! air_AirGap_19
  Body Force = 4  ! air_AirGap_19
End

! air_AirGap_20
Body 20
  Name =  rotor_airgap
  Equation = 1  ! main
  Material = 20  ! air_AirGap_20
  Body Force = 5  ! air_AirGap_20
End

! Airbox
Body 21
  Name = airbox 
  Equation = 1  ! main
  Material = 20  ! air_AirGap_20
 
End


! outer
Boundary Condition 1
  Name = outer_airbox_face
  AV {e} = real 0 !Vector Potential
  AV = real 0	  !scalar Potential
AV {f} = Real 0
End

! stator_airgap
Boundary Condition 2
  Name =  rotational_mortar_airgap_curve
  release AV {e} = Logical True
  Mortar BC = 4
  Rotational Projector = Logical True
Galerkin Projector = Logical True
  Projector Skip Nodes = True
End


! n35eh_RingMagnet_1
Body Force 1
  Mesh Rotate 3 = Variable Time
	Real LUA "(180/pi)*2098.583892597982*tx[0]"
End

! n35eh_RingMagnet_2
Body Force 2
  Mesh Rotate 3 = Variable Time
	Real LUA "(180/pi)*2098.583892597982*tx[0]"
End

! steel_Shaft_3
Body Force 3
  Mesh Rotate 3 = Variable Time
	Real LUA "(180/pi)*2098.583892597982*tx[0]"
End

! air_AirGap_19
Body Force 4
  Mesh Rotate 3 = Variable Time
	Real LUA "(180/pi)*2098.583892597982*tx[0]"
End

! air_AirGap_20
Body Force 5
  Mesh Rotate 3 = Variable Time
	Real LUA "(180/pi)*2098.583892597982*tx[0]"
End

! s_slot_6_A+
Body Force 6
  Current Density = Variable Time
	Real LUA "0.0*math.cos(2098.583892597982*tx[0]+3.141592653589793)"
End

! s_slot_5_A+
Body Force 7
  Current Density = Variable Time
	Real LUA "0.0*math.cos(2098.583892597982*tx[0]+3.141592653589793)"
End

! s_slot_8_C-
Body Force 8
  Current Density = Variable Time
	Real LUA "0.0*math.cos(2098.583892597982*tx[0]+2.0943951023931957)"
End

! s_slot_7_C-
Body Force 9
  Current Density = Variable Time
	Real LUA "0.0*math.cos(2098.583892597982*tx[0]+2.0943951023931957)"
End

! s_slot_10_B+
Body Force 10
  Current Density = Variable Time
	Real LUA "0.0*math.cos(2098.583892597982*tx[0]+1.0471975511965979)"
End

! s_slot_9_B+
Body Force 11
  Current Density = Variable Time
	Real LUA "0.0*math.cos(2098.583892597982*tx[0]+1.0471975511965979)"
End

! s_slot_12_A-
Body Force 12
  Current Density = Variable Time
	Real LUA "0.0*math.cos(2098.583892597982*tx[0]+0.0)"
End

! s_slot_11_A-
Body Force 13
  Current Density = Variable Time
	Real LUA "0.0*math.cos(2098.583892597982*tx[0]+0.0)"
End

! s_slot_14_C+
Body Force 14
  Current Density = Variable Time
	Real LUA "0.0*math.cos(2098.583892597982*tx[0]+5.235987755982989)"
End

! s_slot_13_C+
Body Force 15
  Current Density = Variable Time
	Real LUA "0.0*math.cos(2098.583892597982*tx[0]+5.235987755982989)"
End

! s_slot_16_B-
Body Force 16
  Current Density = Variable Time
	Real LUA "0.0*math.cos(2098.583892597982*tx[0]+4.188790204786391)"
End

! s_slot_15_B-
Body Force 17
  Current Density = Variable Time
	Real LUA "0.0*math.cos(2098.583892597982*tx[0]+4.188790204786391)"
End


! rotor
Component 1
  Name = rotor
  Master Bodies(3) = 1 2 3
  Calculate Magnetic Force = Logical True
  Calculate Magnetic Torque = Logical True
  Torque Origin(3) = Real 0.0 0.0 0.0
  Torque Axis(3) = Real 0.0 0.0 1.0
End
Does anybody have an Idea what else I could try to fix the problem?

Any help is greatly appreciated!

Best regards,

Felix
Post Reply