[Getdp] Biot-Savart in Post-Processing
Christophe Trophime
trophime at grenoble.cnrs.fr
Fri Sep 5 09:36:19 CEST 2003
A long time ago I have asked about the possibility to compute the
magnetic field or potential in the post-processing of a electrical
conduction problem. Following the advice of Christophe (If I get it
right) I have a formulation of this kind :
FunctionSpace {
{ Name Hregion_u_3D ; Type Form0 ;
BasisFunction {
{ Name sr ; NameOfCoef ur ; Function BF_Node ;
Support Domain_Elec ; Entity NodesOf[ All, Not Domain_Electrode ]
; }
{ Name sg ;NameOfCoef ug ; Function BF_GroupOfNodes ;
Support Domain_Elec ; Entity GroupsOfNodesOf[ Domain_Electrode ]
; }
}
GlobalQuantity {
{ Name V ; Type AliasOf ; NameOfCoef ug ; }
{ Name I ; Type AssociatedWith ; NameOfCoef ug ; }
}
Constraint {
{ NameOfCoef ur ;
EntityType NodesOf ; NameOfConstraint FixedVoltage ; }
{ NameOfCoef V ;
EntityType GroupsOfNodesOf ; NameOfConstraint FixedGlobalVoltage
; }
{ NameOfCoef I ;
EntityType GroupsOfNodesOf ; NameOfConstraint FixedGlobalCurrent
; }
}
}
}
Formulation {
{ Name Electric_Conduction ; Type FemEquation ;
Quantity {
{ Name ur ; Type Local ; NameOfSpace Hregion_u_3D ; }
{ Name I ; Type Global ; NameOfSpace Hregion_u_3D [I] ; }
{ Name V ; Type Global ; NameOfSpace Hregion_u_3D [V] ; }
{ Name B ; Type Integral ; NameOfSpace Hregion_u_3D [B];
[ nu[] * Cross[GradLaplace[]{3D}, - sigma[] * Dof{d ur}]];
In Domain_Elec ; Jacobian Vol ; Integration GradGrad;}
}
Equation {
Galerkin { [ sigma[] * Dof{d ur} , {d ur} ] ; In Domain_Elec ;
Jacobian Vol ; Integration GradGrad ; }
GlobalTerm { [ Dof{I} , {V} ] ; In Domain_Electrode ; }
}
}
}
PostProcessing {
{ Name Electric_3D ; NameOfFormulation Electric_Conduction ;
PostQuantity {
{ Name v ; Value { Local {[{ur}] ; In Domain_Elec ; Jacobian Vol ;}}}
{ Name j ; Value { Local {[-sigma[]*{d ur}];
In Domain_Elec ; Jacobian Vol ;}}}
{ Name V ; Value { Term { [ {V} ] ; In Domain_Electrode ; } } }
{ Name I ; Value { Term { [ {I} ] ; In Domain_Electrode ; } } }
{ Name B; Value { Term { [ {B} ] ; }} }
}
}
In the problem definition file I have:
PostOperation Map_Elec UsingPost Electric_3D {
Print[ B, OnRegion Domain_Elec,
File "B.pos", Format Gnuplot];
}
Doing this I have access to only one value of B at (0,0,0), I guess
(as $XC, $YC, $ZC have not been defined for the Green function)??
Now I want to compute B (or A) on the Boundary of a sphere centered at
the origin. How can I manage to do this?
Next how to transfer these values to be used as Dirichlet boundary
conditions for a MagnetoStatic calculations of B (or A) in the sphere?
Finally if the conductivity sigma depends on temperature T (which is
introduced as a Local quantity in the Formulation; T is computed by a
classical non-linear electro-thermal formulation) then I end up
with an error message saying that it is not possible to have more than
one Local quantity in a Integral Quantity. Is it possible to work-around
this problem or to add this feature in the next release?