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
ed717507
"benchmarks/git@gitlab.onelab.info:lrp/gmsh.git" did not exist on "f46cd50624b7a9af2bab7228f2df6f5122cfe032"
Commit
ed717507
authored
5 years ago
by
François Henrotte
Browse files
Options
Downloads
Patches
Plain Diff
Fixed some flag conditions
parent
bb10fad3
No related branches found
No related tags found
No related merge requests found
Pipeline
#5682
passed
5 years ago
Stage: test
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
Conductors3D/w3d.pro
+3
-472
3 additions, 472 deletions
Conductors3D/w3d.pro
with
3 additions
and
472 deletions
Conductors3D/w3d.pro
+
3
−
472
View file @
ed717507
...
...
@@ -472,7 +472,7 @@ PostProcessing {
Value
{
Term
{
[
Im
[
-
{
Us
}
/
{
Is
}
/
omega
/
Lz
]
];
In
Vol_C
;
}}}
EndIf
If
(
Flag_Corr
)
If
(
(
Flag_Form
==
2
)
&&
Flag_Corr
)
{
Name
bs
;
Value
{
Local
{
[
{
d
as
}];
In
Dom_Hthin_a
;
Jacobian
Vol
;
}}}
{
Name
bcorry
;
...
...
@@ -487,7 +487,7 @@ PostProcessing {
PostOperation
map
UsingPost
MagnetoDynamics
{
Print
[
J
,
OnElementsOf
Vol_C
,
File
"j.pos"
];
Print
[
b
,
OnElementsOf
Vol_nu
,
File
"b.pos"
];
If
(
Flag_Corr
)
If
(
(
Flag_Form
==
2
)
&&
Flag_Corr
)
Print
[
bs
,
OnElementsOf
Vol_nu
,
File
"bs.pos"
];
PrintGroup
[
EdgesOf
[
Vol_nu
,
ConnectedTo
LWIRES
],
In
Vol_nu
,
File
"group.pos"
];
...
...
@@ -531,7 +531,7 @@ PostOperation cut UsingPost MagnetoDynamics {
"View[l].LineWidth = 3;"
,
"View[l].Type = 2;"
],
File
"tmp.geo"
,
LastTimeStepOnly
];
If
(
Flag_Corr
)
If
(
(
Flag_Form
==
2
)
&&
Flag_Corr
)
Print
[
bcorry
,
OnLine
{
{
-
Xmax
,
0
,
0
}
{
Xmax
,
0
,
0
}
}{
NbPoints
},
Format
Gmsh
,
File
"by.pos"
];
Echo
[
StrCat
[
"l=PostProcessing.NbViews-1;"
,
...
...
@@ -543,473 +543,4 @@ PostOperation cut UsingPost MagnetoDynamics {
EndIf
}
/*
PostProcessing {
{ Name MagnetoDynamics_corr; NameOfFormulation MagnetoDynamics;
PostQuantity {
{ Name a;
Value { Local { [ {a}]; In Dom_Hcurl_a; Jacobian Vol; }}}
{ Name b;
Value { Local { [ {d a}]; In Dom_Hcurl_a; Jacobian Vol; }}}
{ Name by;
Value { Local { [ Cart2Pol[CompY [ {d a}]]]; In Dom_Hcurl_a; Jacobian Vol; }}}
If( Flag_Form <= 1 )
{ Name U;
Value { Term { [ {U} ]; In CATHODES; }}}
{ Name flux;
Value { Term { [ Im[ {U}/omega ] ]; In CATHODES; }}}
Else
{ Name bc;
Value { Local { [ {d ac}]; In Dom_Hcurl_a; Jacobian Vol; }}}
{ Name bw;
Value { Local { [ {d aw}]; In Dom_Hthin_a; Jacobian Vol; }}}
{ Name byw;
Value { Local { [ Cart2Pol[CompY [ {d aw}]]]; In Dom_Hthin_a; Jacobian Vol; }}}
{ Name U;
Value { Term { [ {Us} ]; In CATHODES; }}}
{ Name flux;
Value { Term { [ Im[ {Us}/omega ] ]; In CATHODES; }}}
EndIf
}
}
}
PostOperation map_corr UsingPost MagnetoDynamics {
Print[ b, OnElementsOf Vol_nu, File "b.pos"];
Print[ U, OnRegion CATHODES, File > "U.dat", Format Table,
SendToServer Sprintf["}Voltage/Wire %g",i]];
Print[ flux, OnRegion CATHODES, File > "L.dat", Format Table,
SendToServer Sprintf["}Inductance/Wire %g",i]];
If( Flag_Form >= 2 )
PrintGroup[ EdgesOf[ Vol_nu, ConnectedTo lVol_C ],
In Vol_nu, File "group.pos"];
Print [bw, OnElementsOf Vol_nu, File "b.pos"];
EndIf
}
FunctionSpace {
{ Name Hcurl_ai_3D; Type Form1;
BasisFunction {
{ Name sc; NameOfCoef ac; Function BF_Edge;
Support Dom_Hcurl_a; Entity EdgesOf[All]; }
{ Name sw; NameOfCoef aw; Function BF_Edge;
Support Dom_Hthin_a; Entity EdgesOf[ Vol_nu, ConnectedTo lVol_C ]; }
}
SubSpace {
{ Name ac ; NameOfBasisFunction { sc } ; }
{ Name aw ; NameOfBasisFunction { sw } ; }
}
Constraint {
{ NameOfCoef ac;
EntityType Auto; NameOfConstraint Hcurl_a_3D_ac; }
{ NameOfCoef ac; EntityType EdgesOfTreeIn ; EntitySubType StartingOn ;
NameOfConstraint GaugeCondition_a ; }
{ NameOfCoef aw; EntityType EdgesOfTreeIn ; EntitySubType StartingOn ;
NameOfConstraint GaugeCondition_a ; }
}
}
}
Formulation {
{ Name Corrected; Type FemEquation;
If( Flag_Form == 1) // A-v formulation
// Conventional A-v formulation
// Works with FE discretized true wires of finite radius (Flag_Thin==0)
// and idealized thin wires (Flag_Thin!=0)
Quantity {
{ Name a; Type Local; NameOfSpace Hcurl_a_3D; }
{ Name v; Type Local; NameOfSpace Hgrad_u_3D; }
{ Name U; Type Global; NameOfSpace Hgrad_u_3D [U]; }
{ Name I; Type Global; NameOfSpace Hgrad_u_3D [I]; }
}
Equation {
Integral { [ nu[] * Dof{d a} , {d a} ];
In Vol_nu; Jacobian Vol; Integration I1; }
Integral { DtDof[ sigma[] * Dof{a} , {a} ];
In Vol_C; Jacobian Vol; Integration I1; }
Integral { [ sigma[] * Dof{d v} , {a} ];
In Vol_C; Jacobian Vol; Integration I1; }
Integral { DtDof[ sigma[] * Dof{a} , {d v} ];
In Vol_C; Jacobian Vol; Integration I1; }
Integral { [ sigma[] * Dof{d v} , {d v} ];
In Vol_C; Jacobian Vol; Integration I1; }
//GlobalTerm { [Dof{I} , {U} ]; In CATHODES; }
Integral { DtDof[ sigma[] * Dof{a} , {a} ];
In lVol_C; Jacobian Vol; Integration I1; }
Integral { [ sigma[] * Dof{d v} , {a} ];
In lVol_C; Jacobian Vol; Integration I1; }
Integral { DtDof[ sigma[] * Dof{a} , {d v} ];
In lVol_C; Jacobian Vol; Integration I1; }
Integral { [ sigma[] * Dof{d v} , {d v} ];
In lVol_C; Jacobian Vol; Integration I1; }
GlobalTerm { [Dof{I} , {U} ]; In CATHODES; }
}
Else // A-I formulation
Quantity {
{ Name a; Type Local; NameOfSpace Hcurl_ai_3D; }
{ Name ac; Type Local; NameOfSpace Hcurl_ai_3D[ac]; }
{ Name aw; Type Local; NameOfSpace Hcurl_ai_3D[aw]; }
{ Name i; Type Local; NameOfSpace Hregion_i_3D; }
{ Name Is; Type Global; NameOfSpace Hregion_i_3D [Is]; }
{ Name Us; Type Global; NameOfSpace Hregion_i_3D [Us]; }
}
Equation {
Integral { [ nu[] * Dof{d ac} , {d ac} ];
In Vol_nu; Jacobian Vol; Integration I1; }
Integral { [ nu[] * Dof{d aw} , {d aw} ];
In Vol_nu; Jacobian Vol; Integration I1; }
If( 0 ) // impose current density
Integral { [ -J[], {ac} ];
In lVol_C; Jacobian Vol; Integration I1; }
Integral { [ -J[] , {aw} ];
In lVol_C; Jacobian Vol; Integration I1; }
Integral { [ -J[] , {a} ];
In Vol_C; Jacobian Vol; Integration I1; }
Else
Integral { [ -Dof{i}/A_c , {ac} ];
In lVol_C; Jacobian Vol; Integration I1; }
Integral { [ -Dof{i}/A_c , {aw} ];
In lVol_C; Jacobian Vol; Integration I1; }
GlobalTerm { [ Dof{Us} , {Is} ]; In lVol_C; }
GlobalTerm { [ Analytic_R[] * Dof{Is} , {Is} ]; In lVol_C;}
Integral { DtDof [ Dof{ac}/A_c , {i} ];
In lVol_C; Jacobian Vol; Integration I1; }
If( Flag_Form != 2)
Integral { DtDof [ -Dof{aw}/A_c , {i} ];
In lVol_C; Jacobian Vol; Integration I1;}
GlobalTerm { DtDof [ Analytic_L[] * Dof{Is} , {Is} ];
In lVol_C;}
EndIf
EndIf
}
EndIf
}
}
*/
// ################################
/*
NbPoints = 1000;
Xmax = 0.15*box;
PostOperation cut UsingPost PostProcessings {
// cut of by displayed in GUI
If( Flag_Thin == 0 )
Print [ by, OnLine { {-Xmax,0,0} {Xmax,0,0} }{NbPoints},
Format Gmsh, File "Cut_az.pos" ];
Echo[ StrCat["l=PostProcessing.NbViews-1;",
"View[l].Name = 'cut |by|';",
"View[l].Axes = 3;",
"View[l].LineWidth = 3;",
"View[l].Type = 2;"],
File "tmp.geo", LastTimeStepOnly];
Else
Print [ acz, OnLine { {-Xmax,0,0} {Xmax,0,0} }{NbPoints},
Format Gmsh, File "Cut_az.pos" ];
Echo[ StrCat["l=PostProcessing.NbViews-1;",
"View[l].Name = 'cut az not corrected';",
"View[l].Axes = 3;",
"View[l].LineWidth = 3;",
"View[l].Type = 2;"],
File "tmp.geo", LastTimeStepOnly];
Print [ az, OnLine { {-Xmax,0,0} {Xmax,0,0} }{NbPoints},
Format Gmsh, File "Cut_az.pos" ];
Echo[ StrCat["l=PostProcessing.NbViews-1;",
"View[l].Name = 'cut az corrected';",
"View[l].Axes = 3;",
"View[l].LineWidth = 3;",
"View[l].Type = 2;"],
File "tmp.geo", LastTimeStepOnly];
EndIf
// cuts in txt format for Gnuplot
Print [ exact, OnLine { {0,0,0} {Xmax,0,0} } {NbPoints},
Format SimpleTable, File "Cut_analytic.txt" ];
If( Flag_Thin == 0 )
Print [ az, OnLine { {0,0,0} {Xmax,0,0} } {NbPoints},
Format SimpleTable, File "Cut_fullfem.txt" ];
Else
Print [ az, OnLine { {0,0,0} {Xmax,0,0} } {NbPoints},
Format SimpleTable, File "Cut_thinfem.txt" ];
Print [ acz, OnLine { {0,0,0} {Xmax,0,0} } {NbPoints},
Format SimpleTable, File "Cut_ac.txt" ];
Print [ awz, OnLine { {0,0,0} {Xmax,0,0} } {NbPoints},
Format SimpleTable, File "Cut_aw.txt" ];
Print [ acwz, OnLine { {0,0,0} {Xmax,0,0} } {NbPoints},
Format SimpleTable, File "Cut_acw.txt" ];
Print [ corr, OnLine { {0,0,0} {Xmax,0,0} } {NbPoints},
Format SimpleTable, File "Cut_correction.txt" ];
EndIf
}
PostProcessing {
{ Name PostProcessings; NameOfFormulation MagnetoDynamics;
PostQuantity {
If( Flag_3D)
{ Name a;
Value { Local { [ {a}];
In Dom_Hcurl_a; Jacobian Vol; }}}
// { Name ac;
// Value { Local { [ {ac} ];
// In Dom_Hcurl_a; Jacobian Vol; }}}
// { Name aw;
// Value { Local { [ {aw} ];
// In Dom_Hthin_a; Jacobian Vol; }}}
{ Name b;
Value { Local { [ {d a}];
In Dom_Hcurl_a; Jacobian Vol; }}}
{ Name U;
Value { Term { [ {U} ]; In CATHODES; }}}
{ Name L;
Value { Term { [ Im[ {U}/{I}/omega ] ]; In CATHODES; }}}
Else ## 2D
{ Name az;
Value { Local { [ CompZ[{ac}] - (Flag_Thin!=0)*(CompZ[{aw}]-Correction_A[])];
In Dom_Hcurl_a; Jacobian Vol; }}}
{ Name acz;
Value { Local { [ CompZ[ {ac}] ];
In Dom_Hcurl_a; Jacobian Vol; }}}
{ Name awz;
Value { Local { [ CompZ[ {aw}] ];
In Dom_Hthin_a; Jacobian Vol; }}}
{ Name acwz;
Value { Local { [ CompZ[ {ac} - {aw} ] ];
In Dom_Hcurl_a; Jacobian Vol; }}}
{ Name exact;
Value { Local { [ Exact_A[] ] ;
In Dom_Hcurl_a; Jacobian Vol; }}}
{ Name corr;
Value { Local { [ Correction_A[] ] ;
In Dom_Hcurl_a; Jacobian Vol; }}}
{ Name bcw;
Value { Local { [ {d ac} - {d aw} ];
In Dom_Hcurl_a; Jacobian Vol; }}}
{ Name j;
Value { Local { [ -sigma[] * ( Dt[{a}] + {dv} ) ];
In Vol_C; Jacobian Vol; }}}
{ Name un;
Value{ Local { [ 1 ] ;
In Vol_nu; Integration I1 ; Jacobian Vol; }}}
{ Name surf;
Value{ Integral{ [ 1 ] ;
In Vol_nu; Integration I1 ; Jacobian Vol; }}}
If( Flag_Thin == 0 )
{ Name flux;
Value { Integral { [ CompZ[ {a} ] / A_c ];
In Vol_C; Integration I1 ; Jacobian Vol; }}}
{ Name JouleLosses;
Value { Integral { [ sigma[]*SquNorm[ Dt[{a}] + {dv} ] ] ;
In Vol_C ; Integration I1 ; Jacobian Vol ; }}}
// { Name U;
// Value { Term { [ Cart2Pol [ {U} ] ]; In Vol_C; }}}
{ Name U;
Value { Term { [ Im [ {U}/omega ] ]; In Vol_C; }}}
Else
{ Name flux; // naive flux
Value { Integral { [ CompZ[ {ac} ] ];
In lVol_C; Integration I1 ; Jacobian Vol; }}}
{ Name JouleLosses;
Value { Term { [ Analytic_R[]*{Is}*{Is} ] ; In lVol_C; }}}
// { Name U;
// Value { Term { [ Cart2Pol [ {Us} ] ] ; In lVol_C; }}}
{ Name U;
Value { Term { [ Im [ {Us}/omega ] ] ; In lVol_C; }}}
For i In {1:NumWires}
{ Name area~{i};
Value{ Integral{ [ 1 ] ;
In SWIRE~{i}; Integration I1 ; Jacobian Vol; }}}
{ Name intbx~{i}; // integral of b, 1st step for computing b average
Value { Integral { [ Norm [ CompX[ {d ac} - {d aw} ] ] ] ;
In SWIRE~{i}; Integration I1 ; Jacobian Vol; }}}
{ Name intby~{i}; // integral of b, 1st step for computing b average
Value { Integral { [ Norm [ CompY[ {d ac} - {d aw} ] ] ] ;
In SWIRE~{i}; Integration I1 ; Jacobian Vol; }}}
EndFor
EndIf
EndIf
}
}
}
PostOperation map UsingPost PostProcessings {
Print [az, OnElementsOf Vol_nu, File "az.pos"];
Echo[ StrCat["l=PostProcessing.NbViews-1;",
"View[l].IntervalsType = 3;",
"View[l].NbIso = 30;",
"View[l].RaiseZ = 15000;",
"View[l].NormalRaise = 0;"],
File "tmp.geo", LastTimeStepOnly];
If(Flag_Thin != 0)
Print [bcw, OnElementsOf Vol_Sleeve, File "b.pos"];
Print [acwz, OnElementsOf Vol_nu, File "acz.pos"];
Echo[ StrCat["l=PostProcessing.NbViews-1;",
"View[l].IntervalsType = 3;",
"View[l].NbIso = 30;",
"View[l].RaiseZ = 15000;",
"View[l].NormalRaise = 0;"],
File "tmp.geo", LastTimeStepOnly] ;
EndIf
}
PostOperation integaz UsingPost PostProcessings {
For i In {1:NumWires}
If( Flag_Thin == 0 )
Print[ U, OnRegion Vol_C, File > "U_full.dat", Format Table,
SendToServer Sprintf["}Voltage/Wire %g/1Full",i]];
Print[ JouleLosses[ VWIRE~{i}], OnGlobal,
Format Table, File > "joule_full.dat",
SendToServer Sprintf["}Joule Losses/Wire %g/1Full",i]];
EndIf
If( Flag_Thin == 1 )
Print[ U, OnRegion lVol_C, File > "U_raw.dat", Format Table,
SendToServer Sprintf["}Voltage/Wire %g/2Raw",i]];
Print[ JouleLosses, OnRegion LWIRE~{i},
Format Table, File > "joule_raw.dat",
SendToServer Sprintf["}Joule Losses/Wire %g/2Raw",i]];
EndIf
If( Flag_Thin == 2 )
Print[ U, OnRegion lVol_C, File > "U_reg.dat", Format Table,
SendToServer Sprintf["}Voltage/Wire %g/3Reg",i]];
Print[ JouleLosses, OnRegion LWIRE~{i},
Format Table, File > "joule_reg.dat",
SendToServer Sprintf["}Joule Losses/Wire %g/3Reg",i]];
EndIf
If( Flag_Thin == 3 )
Print[ U, OnRegion lVol_C, File > "U_naive.dat", Format Table,
SendToServer Sprintf["}Voltage/Wire %g/4Naive",i]];
Print[ JouleLosses, OnRegion LWIRE~{i},
Format Table, File > "joule_naive.dat",
SendToServer Sprintf["}Joule Losses/Wire %g/4Naiv",i]];
EndIf
If( Flag_Thin != 0 )
Print[ area~{i}[SWIRE~{i}], OnGlobal,
Format Table, File >"zzz",
StoreInVariable $sarea~{i}];
Print[ intby~{i}[SWIRE~{i}], OnGlobal,
Format Table, File > "zzz",
StoreInVariable $intby~{i}];
EndIf
EndFor
}
*/
/* 2D case
Quantity {
{ Name a; Type Local; NameOfSpace Hcurl_a_2D; }
{ Name ac; Type Local; NameOfSpace Hcurl_a_2D[ac]; }
{ Name aw; Type Local; NameOfSpace Hcurl_a_2D[aw]; }
{ Name dv; Type Local; NameOfSpace Hgrad_u_2D; }
{ Name U; Type Global; NameOfSpace Hgrad_u_2D [U]; }
{ Name I; Type Global; NameOfSpace Hgrad_u_2D [I]; }
{ Name i; Type Local; NameOfSpace Hregion_i_2D; }
{ Name Is; Type Global; NameOfSpace Hregion_i_2D [Is]; }
{ Name Us; Type Global; NameOfSpace Hregion_i_2D [Us]; }
}
Equation {
Integral { [ nu[] * Dof{d ac} , {d ac} ];
In Vol_nu; Jacobian Vol; Integration I1; }
Integral { [ -Dof{i}/A_c , {ac} ];
In lVol_C; Jacobian Vol; Integration I1; }
Integral { [ nu[] * Dof{d aw} , {d aw} ];
In Vol_nu; Jacobian Vol; Integration I1; }
Integral { [-Dof{i}/A_c , {aw} ];
In lVol_C; Jacobian Vol; Integration I1; }
Integral { [ -J[] , {a} ];
In Vol_C; Jacobian Vol; Integration I1; }
Integral { DtDof[ sigma[] * Dof{a} , {a} ];
In Vol_C; Jacobian Vol; Integration I1; }
Integral { [ sigma[] * Dof{dv} , {a} ];
In Vol_C; Jacobian Vol; Integration I1; }
Integral { DtDof[ sigma[] * Dof{a} , {dv} ];
In Vol_C; Jacobian Vol; Integration I1; }
Integral { [ sigma[] * Dof{dv} , {dv} ];
In Vol_C; Jacobian Vol; Integration I1; }
GlobalTerm { [ Dof{I} , {U} ]; In Vol_C; }
GlobalTerm { [ Dof{Us} , {Is} ];
In lVol_C; }
GlobalTerm { [ Analytic_R[] * Dof{Is} , {Is} ];
In lVol_C;}
Integral { DtDof [ Dof{ac}/A_c , {i} ];
In lVol_C; Jacobian Vol; Integration I1; }
If( Flag_Thin != 3)
Integral { DtDof [ -Dof{aw}/A_c , {i} ];
In lVol_C; Jacobian Vol; Integration I1;}
GlobalTerm { DtDof [ Analytic_L[] * Dof{Is} , {Is} ];
In lVol_C;}
EndIf
}
*/
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