Questions - Valparaíso - Chile

Christophe Geuzaine Christophe.Geuzaine at ulg.ac.be
Tue Aug 1 10:44:57 CEST 2000


Alejandro Angulo wrote:
> 

Hi Alejandro,

(...)

> for GetDP, in spite of the fact that these terms
> appear in the formulation ( I also saw the generated
> matrix - Matrix_Printing = 1 en Solver - and they
> didn't modify when I modified the convection
> coefficients; even more, they stayed similar with or
> without convection conditions in the boundary).
> Please, I request you that  revise this test program
> (attached) and tell me which their problems are.

The "Support" in a function space will determine wether the basis
functions will be considered when encountering a term in the
formulation, or not. Here, no equations will be built on "SurfInf",
"SurfDer" and "SurfIzq", since there is only "Domain" in the support of
the temperature. You should add "SurfInf", "SurfDer" and "SurfIzq" too,
e.g. with "Support Region[{Domain, SurfInf, SurfDer, SurfIzq}]" (or,
better, define a separate group which contains the convection domains).

> With regard to my questions on connections of
> conductors I found your information very good, but I
> that I really need is to know how to use constraints
> of 'NETWORK' type (like 6.5 in GetDP manual) to
> analize SOLID conductors (not Stranded). I want to
> locate hot points in transformer windings and in this
> problems type the current distributions cannot suppose
> uniform (eddy current are very important!!!).

Considering solid conductors is simpler than stranded ones. I do it like
this. In addition to the function space for "a", I define the following
for "v", and one for circuits:

 /* Gradient of Electric scalar potential (2D) */
  { Name Hregion_u_Mag_2D ; Type Form1P ;
    BasisFunction {
      { Name sr ; NameOfCoef ur ; Function BF_RegionZ ;
        Support DomainC_Mag ; Entity DomainC_Mag ; }
    }
    GlobalQuantity {
      { Name U ; Type AliasOf        ; NameOfCoef ur ; }
      { Name I ; Type AssociatedWith ; NameOfCoef ur ; }
    }
    Constraint {
      { NameOfCoef U ; EntityType Region; NameOfConstraint Voltage_2D ;
}
      { NameOfCoef I ; EntityType Region; NameOfConstraint Current_2D ;
}
    }
  }

  /* UZ et IZ for impedances */
  { Name Hregion_Z ; Type Scalar ;
    BasisFunction {
      { Name sr ; NameOfCoef ir ; Function BF_Region ;
        Support DomainZt_Cir ; Entity DomainZt_Cir ; }
    }
    GlobalQuantity {
      { Name Iz ; Type AliasOf        ; NameOfCoef ir ; }
      { Name Uz ; Type AssociatedWith ; NameOfCoef ir ; }
    }
    Constraint {
      { Type Init ; NameOfCoef Uz ;
        Entity Region UsingConstraint VoltageInit_Cir ; }

      { Type Assign ; NameOfCoef Uz ;
        Entity Region UsingConstraint Voltage_Cir ; }
      { Type Assign ; NameOfCoef Iz ;
        Entity Region UsingConstraint Current_Cir ; }
    }
  }

With a dummy resistive/capacitive circuit, with two voltage sources, the
formulation can then be written as (for example):

Function{
  Resistance[R] = 2. ;
  Capacitance[C1] = 10.e-6 ;
  Capacitance[C2] = 50.e-9 ;
  Capacitance[C3] = 50.e-9 ;
}

Group{
  R = Region[1] ; E1 = Region[21] ;  E2 = Region[22] ;

  Resistance_Cir  = Region[ {R} ] ;
  Capacitive_Cir  = Region[ {C} ] ;
  SourceV_Cir = Region[ {E1, E2} ] ;
  SourceI_Cir = Region[ {} ] ;

  DomainZ_Cir = Region[ {Resistance_Cir,Capacitance_Cir} ] ;
  DomainSource_Cir = Region[ {SourceV_Cir, SourceI_Cir} ] ;
  DomainZt_Cir = Region[ {DomainZ_Cir, DomainSource_Cir} ] ;
}

Constraint {
  { Name Current_Cir ;
    Case {
    }
  }

  { Name Voltage_Cir ;
    Case {
      { Region E1 ; Value 50 ; }
      { Region E2 ; Value 50 ; }
    }
  }
  { Name ElectricalCircuit ; Type Network ;
    Case Circuit1 {
      { Region E1 ; Branch {10,6} ; }
      { Region E2 ; Branch {5,10} ; }

      { Region R  ; Branch {10,2} ; }

      { Region C1 ; Branch {2,3} ; }
      { Region C2 ; Branch {4,6} ; }
      { Region C3 ; Branch {5,4} ; }

      { Region Coil ; Branch {3,4} ; }
    }
  }
}

Formulation {
  { Name Magnetodynamics_av_2D ; Type FemEquation ;
    DefineQuantity {
      { Name a  ; Type Local ; NameOfSpace Hcurl_a_Mag_2D ; }
      { Name ur ; Type Local ; NameOfSpace Hregion_u_Mag_2D ; }
      { Name I  ; Type Global ; NameOfSpace Hregion_u_Mag_2D [I] ; }
      { Name U  ; Type Global ; NameOfSpace Hregion_u_Mag_2D [U] ; }
      { Name Uz ; Type Global ; NameOfSpace Hregion_Z [Uz] ; }
      { Name Iz ; Type Global ; NameOfSpace Hregion_Z [Iz] ; }    
    }
    Equation {
      Integral { [ nu[] * Dof{d a} , {d a} ]       ; In Domain_Mag ;
                 JacobianMethod JacobianVol ;
                 IntegrationMethod IntMet_CurlCurl ; }

      Integral { DtDof [ sigma[] * Dof{a} , {a} ]  ; In DomainC_Mag ;
                 JacobianMethod JacobianVol ;
                 IntegrationMethod IntMet_CurlCurl ; }

      Integral { [ sigma[] * Dof{ur} , {a} ]       ; In DomainC_Mag ;
                 JacobianMethod JacobianVol ;
                 IntegrationMethod IntMet_CurlCurl ; }

      Integral { DtDof [ sigma[] * Dof{a} , {ur} ] ; In DomainC_Mag ;
                 JacobianMethod JacobianVol ;
                 IntegrationMethod IntMet_CurlCurl ; }

      Integral { [ sigma[] * Dof{ur} , {ur} ]      ; In DomainC_Mag ;
                 JacobianMethod JacobianVol ;
                 IntegrationMethod IntMet_CurlCurl ; }

      GlobalTerm { [ Dof{I} , {U} ] ; In DomainC_Mag ; }

      GlobalTerm { [ Dof{Uz}                , {Iz} ] ; In Resistance_Cir
; }
      GlobalTerm { [ Resistance[] * Dof{Iz} , {Iz} ] ; In Resistance_Cir
; }

      GlobalTerm { [ Dof{Iz}                       , {Iz} ] ; In
Capacitance_Cir ; }
      GlobalTerm { DtDof [ Capacitance[] * Dof{Uz} , {Iz} ] ; In
Capacitance_Cir ; }

      GlobalEquation {
        Type Network ; NameOfConstraint ElectricalCircuit ;
        { Node {I};  Loop {U};  Equation {I};  In DomainC_Mag ; }
        { Node {Iz}; Loop {Uz}; Equation {Uz}; In DomainZt_Cir ; }
      }

    }
  }
}

My best,

-- 
Christophe Geuzaine

Tel: +32-(0)4-366.37.10    mailto:Christophe.Geuzaine at ulg.ac.be
Fax: +32-(0)4-366.29.10    http://www.geuz.org