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
5d571b51
Commit
5d571b51
authored
5 years ago
by
Christophe Geuzaine
Browse files
Options
Downloads
Patches
Plain Diff
postoperation to debug the tree
parent
f9bfbe28
No related branches found
No related tags found
No related merge requests found
Pipeline
#5197
passed
5 years ago
Stage: test
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
SlidingSurface3D/rfpm.pro
+37
-36
37 additions, 36 deletions
SlidingSurface3D/rfpm.pro
with
37 additions
and
36 deletions
SlidingSurface3D/rfpm.pro
+
37
−
36
View file @
5d571b51
/*
3D Magnetostatics with
- OpenCascade solid modelling
3D Magnetostatics with
- OpenCascade solid modelling
- geometrical identfication of faces
- antiperiodic boundary conditions
- sliding surface
...
...
@@ -23,14 +23,14 @@ RotorPosition = deg*
AngularStep
=
deg
*
DefineNumber
[
1
,
Name
"Options/1Angular step [deg]"
,
Visible
Flag_QuasiStatic
];
NumStep
=
NumStep
=
DefineNumber
[
20
,
Name
"Options/1Number of steps"
,
Visible
Flag_QuasiStatic
];
rpm
=
2.
*
Pi
/
60.
;
rpm
=
2.
*
Pi
/
60.
;
w1
=
1000
*
rpm
;
Mag_DTime
=
AngularStep
/
Fabs
[
w1
]
;
Mag_TimeMax
=
Mag_DTime
*
NumStep
;
Mag_TimeMax
=
Mag_DTime
*
NumStep
;
Group
{
...
...
@@ -67,9 +67,9 @@ Group {
Sur_Dirichlet
=
Region
[
{
Outer
,
Top
,
Bottom
}
];
Sur_Link
=
Region
[
{
Sur_SlidingMaster
,
Sur_SlidingSlave
,
Sur_Link
=
Region
[
{
Sur_SlidingMaster
,
Sur_SlidingSlave
,
Sur_StatorPerMaster
,
Sur_StatorPerSlave
,
Sur_RotorPerMaster
,
Sur_RotorPerSlave
}
]
;
Sur_RotorPerMaster
,
Sur_RotorPerSlave
}
]
;
Dom_Hcurl_a
=
Region
[
{
Vol_Mag
,
Sur_Link
}
];
// No Neumann surface
...
...
@@ -95,14 +95,14 @@ Function{
Function
{
// Sliding surface:
// a1 is the angular span of Region and RegionRef.
// a0 is the mesh step of the meshes of
// a1 is the angular span of Region and RegionRef.
// a0 is the mesh step of the meshes of
// a2[] is the angular position (in radian) of the rotor
// relative to its reference position (as in the msh file)
// assumed to be aligned with the stator.
// a3[] is the shear angle of region AIRBM
// assumed to be aligned with the stator.
// a3[] is the shear angle of region AIRBM
// (smaller than half the discretization step of the sliding surface
// to adapt to a2[] values that are not multiple of this step).
// to adapt to a2[] values that are not multiple of this step).
// AlignWithMaster[] maps a point of coordinates {X[], Y[], Z[]} onto
// its image in the open set RegionRef-SubRegionRef by the symmetry mapping.
// Coef[] is evaluated on Master nodes
...
...
@@ -111,9 +111,9 @@ Function {
Periodicity
=
-
1.
;
// -1 for antiperiodicity, 1 for periodicity
RotatePZ
[]
=
Rotate
[
XYZ
[],
0
,
0
,
$
1
]
;
Tol
=
1e-8
;
fFloor
[]
=
Floor
[
$
1
+
Tol
]
;
fRem
[]
=
$
1
-
fFloor
[
$
1
/
$
2
]
*
$
2
;
Tol
=
1e-8
;
fFloor
[]
=
Floor
[
$
1
+
Tol
]
;
fRem
[]
=
$
1
-
fFloor
[
$
1
/
$
2
]
*
$
2
;
deg
=
Pi
/
180
;
a1
=
(
ModelAngleMax
-
ModelAngleMin
)
*
deg
;
a1
=
(
ModelAngleMax
-
ModelAngleMin
)
*
deg
;
a0
=
a1
/
NbrDiv
;
// angular span of one moving band element
a2
[]
=
$
RotorPosition
;
a3
[]
=
(
(
fRem
[
a2
[],
a0
]
#
2
<=
0.5
*
a0
)
?
#
2
:
#
2
-
a0
)
;
...
...
@@ -162,20 +162,20 @@ Constraint {
{
Region
Sur_Dirichlet
;
Value
0.
;
}
// Periodicity condition on lateral faces
{
Type
Link
;
Region
Sur_StatorPerSlave
;
RegionRef
Sur_StatorPerMaster
;
ToleranceFactor
1e-8
;
{
Type
Link
;
Region
Sur_StatorPerSlave
;
RegionRef
Sur_StatorPerMaster
;
ToleranceFactor
1e-8
;
Coefficient
Periodicity
;
Function
RotatePZ
[
-
a1
]
;
}
{
Type
Link
;
Region
Sur_RotorPerSlave
;
RegionRef
Sur_RotorPerMaster
;
ToleranceFactor
1e-8
;
{
Type
Link
;
Region
Sur_RotorPerSlave
;
RegionRef
Sur_RotorPerMaster
;
ToleranceFactor
1e-8
;
Coefficient
Periodicity
;
Function
RotatePZ
[
-
a1
]
;
}
// Sliding surface
{
Type
Link
;
Region
Sur_SlidingSlave
;
SubRegion
Lin_SlidingSubslave
;
RegionRef
Sur_SlidingMaster
;
SubRegionRef
Lin_SlidingSubmaster
;
ToleranceFactor
1e-8
;
Coefficient
Coef
[]
;
Function
AlignWithMaster
[]
;
{
Type
Link
;
Region
Sur_SlidingSlave
;
SubRegion
Lin_SlidingSubslave
;
RegionRef
Sur_SlidingMaster
;
SubRegionRef
Lin_SlidingSubmaster
;
ToleranceFactor
1e-8
;
Coefficient
Coef
[]
;
Function
AlignWithMaster
[]
;
FunctionRef
RestoreRef
[]
;
}
}
}
}
{
Name
GaugeCondition_a
;
Type
Assign
;
...
...
@@ -191,7 +191,7 @@ Constraint {
FunctionSpace
{
{
Name
Hcurl_a
;
Type
Form1
;
BasisFunction
{
{
Name
se
;
NameOfCoef
ae
;
Function
BF_Edge
;
{
Name
se
;
NameOfCoef
ae
;
Function
BF_Edge
;
Support
Dom_Hcurl_a
;
Entity
EdgesOf
[
All
];
}
}
Constraint
{
...
...
@@ -235,7 +235,7 @@ Resolution {
Evaluate
[
$
a3
=
a3
[]
];
Evaluate
[
$
aa
=
Fmod
[
a2
[],
a0
]
];
Evaluate
[
$
bb
=
fRem
[
a2
[],
a0
]
];
Print
[
{
$
RotorPosition
/
deg
,
$
a2
/
deg
,
$
a3
/
deg
,
$
aa
/
deg
,
$
bb
/
deg
},
Print
[
{
$
RotorPosition
/
deg
,
$
a2
/
deg
,
$
a3
/
deg
,
$
aa
/
deg
,
$
bb
/
deg
},
Format
"wt=%e a2=%e a3=%e %e %e"
]
;
UpdateConstraint
[
Sys_Mag
]
;
...
...
@@ -271,15 +271,15 @@ Resolution {
PostProcessing
{
{
Name
MagSta_a
;
NameOfFormulation
MagSta_a
;
PostQuantity
{
{
Name
b
;
Value
{
Local
{
[
{
d
a
}
];
{
Name
b
;
Value
{
Local
{
[
{
d
a
}
];
In
Vol_Mag
;
Jacobian
Vol
;
}
}
}
{
Name
bsurf
;
Value
{
Local
{
[
{
d
a
}
];
{
Name
bsurf
;
Value
{
Local
{
[
{
d
a
}
];
In
Sur_Link
;
Jacobian
Sur
;
}
}
}
{
Name
asurf
;
Value
{
Local
{
[
{
a
}
];
{
Name
asurf
;
Value
{
Local
{
[
{
a
}
];
In
Sur_Link
;
Jacobian
Sur
;
}
}
}
{
Name
br
;
Value
{
Local
{
[
br
[]
];
{
Name
br
;
Value
{
Local
{
[
br
[]
];
In
Vol_Magnets
;
Jacobian
Vol
;
}
}
}
{
Name
a
;
Value
{
Local
{
[
{
a
}
];
{
Name
a
;
Value
{
Local
{
[
{
a
}
];
In
Vol_Mag
;
Jacobian
Vol
;
}
}
}
}
}
...
...
@@ -287,7 +287,7 @@ PostProcessing {
PostOperation
Fields
UsingPost
MagSta_a
{
Print
[
b
,
OnElementsOf
Region
[
{
Vol_Mag
}
],
Print
[
b
,
OnElementsOf
Region
[
{
Vol_Mag
}
],
LastTimeStepOnly
,
File
"b.pos"
]
;
Echo
[
Str
[
"l=PostProcessing.NbViews-1;"
,
"View[l].ArrowSizeMax = 100;"
,
...
...
@@ -318,14 +318,15 @@ PostOperation {
}
PostOperation
Check_Periodicity
UsingPost
MagSta_a
{
PrintGroup
[
EdgesOfTreeIn
[
{
Vol_Tree
},
StartingOn
{
Sur_Tree
}
],
In
Vol_Tree
,
File
"Tree.pos"
];
// Print the tree for debugging purposes (the group name
PrintGroup
[
_CO_Entity_39
,
In
Vol_Tree
,
File
"Tree.pos"
];
Echo
[
Str
[
"l=PostProcessing.NbViews-1;"
,
"View[l].ColorTable = { DarkRed };"
,
"View[l].LineWidth = 5;"
]
,
File
"tmp.geo"
,
LastTimeStepOnly
]
;
Print
[
bsurf
,
OnElementsOf
Region
[
{
Sur_SlidingMaster
}
],
Print
[
bsurf
,
OnElementsOf
Region
[
{
Sur_SlidingMaster
}
],
LastTimeStepOnly
,
File
"bsm.pos"
]
;
Echo
[
Str
[
"l=PostProcessing.NbViews-1;"
,
"View[l].ArrowSizeMax = 100;"
,
...
...
@@ -340,7 +341,7 @@ PostOperation Check_Periodicity UsingPost MagSta_a {
"View[l].VectorType = 4;"
]
,
File
"tmp.geo"
,
LastTimeStepOnly
]
;
Print
[
bsurf
,
OnElementsOf
Region
[
{
Sur_SlidingSlave
}
],
Print
[
bsurf
,
OnElementsOf
Region
[
{
Sur_SlidingSlave
}
],
LastTimeStepOnly
,
File
"bss.pos"
]
;
Echo
[
Str
[
"l=PostProcessing.NbViews-1;"
,
"View[l].ArrowSizeMax = 100;"
,
...
...
@@ -355,7 +356,7 @@ PostOperation Check_Periodicity UsingPost MagSta_a {
"View[l].VectorType = 4;"
]
,
File
"tmp.geo"
,
LastTimeStepOnly
]
;
Print
[
bsurf
,
OnElementsOf
Region
[
Sur_Link
],
Print
[
bsurf
,
OnElementsOf
Region
[
Sur_Link
],
LastTimeStepOnly
,
File
"bsl.pos"
]
;
Echo
[
Str
[
"l=PostProcessing.NbViews-1;"
,
"View[l].ArrowSizeMax = 100;"
,
...
...
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