[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?