Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
tutorials
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
documentation
tutorials
Commits
8366d870
Commit
8366d870
authored
5 years ago
by
Christophe Geuzaine
Browse files
Options
Downloads
Patches
Plain Diff
pp
parent
2f8c50a4
No related branches found
No related tags found
No related merge requests found
Pipeline
#7585
passed
4 years ago
Stage: test
Changes
2
Pipelines
6
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
MagneticForces/magnets.pro
+60
-62
60 additions, 62 deletions
MagneticForces/magnets.pro
Magnetodynamics/transfo.pro
+3
-1
3 additions, 1 deletion
Magnetodynamics/transfo.pro
with
63 additions
and
63 deletions
MagneticForces/magnets.pro
+
60
−
62
View file @
8366d870
...
@@ -22,61 +22,60 @@
...
@@ -22,61 +22,60 @@
------------------------------------------------------------------- */
------------------------------------------------------------------- */
/*
/*
This tutorial solves the electromagnetic field
This tutorial solves the electromagnetic field and the rigid-body forces acting
and the rigid-body forces acting on a set of magnetic pieces
on a set of magnetic pieces of either parallelepipedic or cylindrical shape.
of either parallelepipedic or cylindrical shape.
Besides position and dimension, each piece is attributed a (constant) magnetic
Besides position and dimension, each piece is attributed
permeability and/or a remanence field. Hereafter, the pieces are all, simply
a (constant) magnetic permeability and/or a remanence field.
though imprecisely, referred to as "Magnet", irresective of whether they are
Hereafter, the pieces are all, simply though imprecisely, referred to as "Magnet",
truly permanent magnets or ferromagnetic barrels.
irresective of whether they are truly permanent magnets or ferromagnetic barrels.
The tutorial model proposes two dual 3D magnetostatic formulations:
The tutorial model proposes two dual 3D magnetostatic formulations:
- the magnetic vector potential formulation with spanning-tree gauging;
- the magnetic vector potential formulation with spanning-tree gauging;
- the scalar magnetic potential formulation.
- the scalar magnetic potential formulation.
As there are no conductors, the later is rather simple. The source field "hs" is
directly the the known coercive field hc[]:
As there are no conductors, the later is rather simple. The source field "hs"
is directly the the known coercive field hc[]:
h = hs - grad phi , hs = -hc.
h = hs - grad phi , hs = -hc.
If the "Add infinite box" box is ticked, a transformation to infinity shell is
If the "Add infinite box" box is ticked, a transformation to infinity shell is
used to impose the exact zero-field boundary condition at infinity.
used to impose the exact zero-field boundary condition at infinity.
See also
See also
Tutorial 2: magnetostatic field of an electromagnet.
Tutorial 2: magnetostatic field of an electromagnet.
The shell is generated
The shell is generated
automatically by including "InfiniteBox.geo"
automatically by including "InfiniteBox.geo"
at the end of the geometrical
at the end of the geometrical description of the model.
description of the model. It can be placed rather close of the magnets without
It can be placed rather close of the magnets without
loss of accuracy.
loss of accuracy.
The preferred way to compute electromagnetic forces in GetDP
The preferred way to compute electromagnetic forces in GetDP
is as an explicit
is as an explicit
by-product of the Maxwell stress tensor "TM[{b}]",
by-product of the Maxwell stress tensor "TM[{b}]",
which is a material
which is a material
dependent function of the magnetic induction "b" field.
dependent function of the magnetic induction "b" field.
The magnetic force
The magnetic force
acting on a rigid body in empty space can be evaluated
acting on a rigid body in empty space can be evaluated
as the flux of the
as the flux of the
Maxwell stress tensor through a surface "S" (surrounding the body).
Maxwell stress tensor through a surface "S" (surrounding the body).
A special
A special
auxiliary function "g(S)" linked "S" is defined for each magnet, i.e.
auxiliary function "g(S)" linked "S" is defined for each magnet, i.e.
"g(SkinMagnet~{i}) = un~{i}".
"g(SkinMagnet~{i}) = un~{i}".
The resultant magnetic force acting on
The resultant magnetic force acting on
"Magnet~{i}" is given by the integral:
"Magnet~{i}" is given by the integral:
f~{i} = Integral [ TM[{b}] * {-grad un~{i}} ] ;
f~{i} = Integral [ TM[{b}] * {-grad un~{i}} ] ;
This approach is analogous to the computation of heat flux "q(S)" through a
This approach is analogous to the computation of heat flux "q(S)" through a
surface "S" described in "Tutorial 5: thermal problem with contact resistances".
surface "S" described in "Tutorial 5: thermal problem with contact
resistances".
Note that the Maxwell stress tensor is always discontinuous on material discontinuities,
and that magnetic forces acting on rigid bodies
Note that the Maxwell stress tensor is always discontinuous on material
depend only on the Maxwell stress tensor in empty space,
discontinuities, and that magnetic forces acting on rigid bodies depend only on
and on the "b" and "h" field distribution,
the Maxwell stress tensor in empty space, and on the "b" and "h" field
on the external side of "SkinMagnet~{i}"
distribution, on the external side of "SkinMagnet~{i}" (side of the surface in
(side of the surface in contact with air).
contact with air).
"{-grad un~{i}}" in the above formula can be regarded
"{-grad un~{i}}" in the above formula can be regarded as the normal vector to
as the normal vector to "SkinMagnet~{i}"
"SkinMagnet~{i}" in the one element thick layer "layer~{i}" of finite elements
in the one element thick layer "layer~{i}" of finite elements
around "Magnet~{i}", and "f~{i}", is thus indeed the flux of "TM[]" through the
around "Magnet~{i}", and "f~{i}", is thus indeed the flux of "TM[]"
surface of "Magnet~{i}".
through the surface of "Magnet~{i}".
The support of "{-grad un~{i}}" is limited to "layer~{i}", which is much
The support of "{-grad un~{i}}" is limited to "layer~{i}",
smaller than "AirBox". To speed up the computation of forces, a special domain
which is much smaller than "AirBox".
"Vol_Force" for force integrations is defined, which contains only the layers
To speed up the computation of forces, a special domain "Vol_Force"
"layer~{i}" of all magnets.
for force integrations is defined, which contains only
the layers "layer~{i}" of all magnets.
*/
*/
Include
"magnets_common.pro"
Include
"magnets_common.pro"
...
@@ -384,4 +383,3 @@ PostOperation {
...
@@ -384,4 +383,3 @@ PostOperation {
}
}
}
}
}
}
This diff is collapsed.
Click to expand it.
Magnetodynamics/transfo.pro
+
3
−
1
View file @
8366d870
...
@@ -95,6 +95,8 @@ Function {
...
@@ -95,6 +95,8 @@ Function {
// secondary.
// secondary.
Flag_CircuitCoupling
=
1
;
Flag_CircuitCoupling
=
1
;
Flag_FrequencyDomain
=
0
;
// Note that the voltage will not be equally distributed in the PLUS and MINUS
// Note that the voltage will not be equally distributed in the PLUS and MINUS
// parts, which is the reason why we must apply the total voltage through a
// parts, which is the reason why we must apply the total voltage through a
// circuit -- and we cannot simply use a current source like in Tutorial 7a.
// circuit -- and we cannot simply use a current source like in Tutorial 7a.
...
@@ -128,7 +130,7 @@ Function {
...
@@ -128,7 +130,7 @@ Function {
// High value for an open-circuit test; Low value for a short-circuit test;
// High value for an open-circuit test; Low value for a short-circuit test;
// any value in-between for any charge
// any value in-between for any charge
Resistance
[
R_out
]
=
1
e6
;
Resistance
[
R_out
]
=
1
0
;
// End-winding primary winding resistance for more realistic primary coil
// End-winding primary winding resistance for more realistic primary coil
// model
// model
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment