[Getdp] Computing stored electrostatic energy
Ruth Vazquez Sabariego
ruth.sabariego at esat.kuleuven.be
Wed Mar 30 12:41:51 CEST 2016
The easiest way is to use global quantities.
You can use the following Function space:
FunctionSpace {
{ Name Hgrad_vf_Ele ; Type Form0 ;
BasisFunction {
// v = v s + v s
// n n c,k c,k
{ Name sn ; NameOfCoef vn ; Function BF_Node ;
Support DomainCC_Ele ; Entity NodesOf[ All, Not SkinDomainC_Ele ] ; }
{ Name sck ;NameOfCoef vck ; Function BF_GroupOfNodes ;
Support DomainCC_Ele ; Entity GroupsOfNodesOf[ SkinDomainC_Ele ] ; }
}
GlobalQuantity {
{ Name GlobalElectricPotential ; Type AliasOf ; NameOfCoef vck ; }
{ Name GlobalElectricCharge ; Type AssociatedWith ; NameOfCoef vck ; }
}
Constraint {
{ NameOfCoef vn ;
EntityType NodesOf ; NameOfConstraint ElectricScalarPotential ; }
{ NameOfCoef GlobalElectricPotential ;
EntityType GroupsOfNodesOf ; NameOfConstraint GlobalElectricPotential ; }
{ NameOfCoef GlobalElectricCharge ;
EntityType GroupsOfNodesOf ; NameOfConstraint GlobalElectricCharge ; }
}
}
}
then formulation
Formulation {
{ Name Electrostatics_vf ; Type FemEquation ;
Quantity {
{ Name v ; Type Local ; NameOfSpace Hgrad_vf_Ele ; }
{ Name Q ; Type Global ;
NameOfSpace Hgrad_vf_Ele [GlobalElectricCharge] ; }
{ Name V ; Type Global ;
NameOfSpace Hgrad_vf_Ele [GlobalElectricPotential] ; }
}
Equation {
Galerkin { [ epsr[] * Dof{d v} , {d v} ] ;
In DomainCC_Ele ;
Jacobian Vol ; Integration GradGrad ; }
GlobalTerm { [ -Dof{Q}/eps0 / Length , {V} ] ; In SkinDomainC_Ele ; }
}
}
}
and the post-processing gives you directly the capacity:
PostProcessing {
{ Name EleSta_vf ; NameOfFormulation Electrostatics_vf ;
PostQuantity {
{ Name v ; Value { Term { [ {v} ] ; Jacobian Vol; In DomainCC_Ele ; } } }
{ Name e ; Value { Term { [ -{d v} ] ; Jacobian Vol; In DomainCC_Ele ; } } }
{ Name d ; Value { Term { [ -eps0*epsr[] * {d v} ] ; Jacobian Vol; In DomainCC_Ele ; } } }
{ Name em ; Value { Term { [ Norm[{d v}] / 1.e6 ] ; Jacobian Vol; In DomainCC_Ele ; } } } // Warning: in kV/mm
{ Name Q ; Value { Term { [ {Q} ] ; In SkinDomainC_Ele ; } } }
{ Name V ; Value { Term { [ {V} / 1.e3 ] ; In SkinDomainC_Ele ; } } } // Warning: in kV
{ Name C ; Value { Term { [ {Q}/{V} ] ; In SkinDomainC_Ele ; } } }
}
}
}
with domains:
Domain_Ele Whole electric domain
DomainCC_Ele Nonconducting regions
DomainC_Ele Conducting regions (not used)
SkinDomainC_Ele Skin of conducting regions (surfaces)
The other possibility is forgetting about the global quantities and define an integral quantity in the postprocessing.
{ Name Cpos ;
Value {
Integral { Type Global ;
[ epsilon[] * SquNorm[-{d v}] ] ; In DomainCC_Ele ; Jacobian Vol ; Integration I1 ; }
}
}
HTH,
Ruth
—
Prof. Ruth V. Sabariego
KU Leuven
Dept. Electrical Engineering ESAT/Electa, EnergyVille
http://www.esat.kuleuven.be/electa
http://www.energyville.be
Free software: http://gmsh.info | http://getdp.info | http://onelab.info
On 28 Mar 2016, at 14:34, Geoffrey LOSSA [531522] <Geoffrey.LOSSA at umons.ac.be<mailto:Geoffrey.LOSSA at umons.ac.be>> wrote:
Dear all,
I’m looking to calculate the stored electrostatic energy in order to deduct some parasitic capacitance of a system (inductor).
What is the term or the expression to be integrated in the Getdp electrostatic formulation?
Thanks in advance for the help,
Geoffrey
_______________________________________________
getdp mailing list
getdp at onelab.info<mailto:getdp at onelab.info>
http://onelab.info/mailman/listinfo/getdp
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://onelab.info/pipermail/getdp/attachments/20160330/f3dc4572/attachment-0001.html>
More information about the getdp
mailing list