[Getdp] How to properly couple Magnetostatic and Electrostatic problem?

Christophe Trophime christophe.trophime at grenoble.cnrs.fr
Mon Nov 14 14:20:16 CET 2005


Starting from the Magnetostatics examples I try to compute the magnetic
potential from the resolution of the electrical potential in the
conductors :

  { Name MagSta_a_3D; Type FemEquation;
    Quantity { 
      { Name a ; Type Local; NameOfSpace Hcurl_a_MagSta_3D; }
      { Name ur ; Type Local  ; NameOfSpace Hregion_u_3D ; }
    }
    Equation {
      Galerkin { [ nu[] * Dof{d a} , {d a} ]; 
                 In Vol_Mag; Integration GradGrad; Jacobian Vol; }
      Galerkin { [ -sigma[] * {d ur} , {a} ]; 
                 In Vol_S_Mag; Integration GradGrad; Jacobian Vol; }
    }
  }

where ur is defined as :
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 ; }
    }
  }
}

and 

  { 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] ; }
  }
  Equation {
    Galerkin { [ sigma[] * Dof{d ur} , {d ur} ] ; In Domain_Elec ;
    Jacobian Vol ; Integration GradGrad ; }

    GlobalTerm { [ Dof{I} , {V} ] ; In Domain_Electrode ; }
  }
  }

The resolution gives the following error :

Operation : Generate[A]
Solver    : Loading parameter file 'Sys_Mag.par'
Info      : Setting System {A,b} to zero
Error     : Substraction of different quantities: Vector - Scalar

As far as I understand right the error indicates that ur is not in a
"right" functionnal space.

How can I project "sigma[] * {d ur}" to get the corresponding {j} in the
right functionnal space?