diff --git a/ElectrostaticsFloating/floating.pro b/ElectrostaticsFloating/floating.pro index 50daaa566e9883856e604b23c982fa03b46ffc35..cbe37d6f78f8d8018c90d2a0d05bbf4397f35213 100644 --- a/ElectrostaticsFloating/floating.pro +++ b/ElectrostaticsFloating/floating.pro @@ -12,7 +12,7 @@ ------------------------------------------------------------------- */ -/* A thing GetDP is pretty good at is the management of global (non-local) basis +/* GetDP is pretty good at the management of global (non-local) basis functions. Finite element expansions typically associate basis functions to individual nodes or edges in the mesh. But consider the situation where a scalar field is set to be uniform over a region of the problem (say a @@ -20,12 +20,12 @@ identical nodal value "v_electrode", a global (non-local) basis function "BF_electrode" is obtained as factor which is the sum of the shape functions of all the nodes in the electrode region. This basis function "BF_electrode" - - is a continuous function, scalar in this case, - - is equal to 1 at the nodes of the electrode, and to 0 at all other nodes, + - is a continuous function, scalar in this case; + - is equal to 1 at the nodes of the electrode, and to 0 at all other nodes; - decreases from 1 to 0 over the one-element-thick layer of elements sharing at least one node with the electrode region. - One such glabal basis function can be associated with each electrode in the + One such global basis function can be associated with each electrode in the system, so that the finite element expansion of the electric scalar potential reads: @@ -34,13 +34,13 @@ with the the sum_k running over all nodes except those of the electrode regions. - We show in this tutorial how GetDP takes advantage of global quantities and + This tutorial shows how GetDP takes advantage of global quantities and the associated global basis functions - - to reduce the number of unknowns - - to compute efficiently the electrode charges "Q_electrode", which are - precisely the energy duals of the global "v_electrode" quantities + - to reduce the number of unknowns; + - to efficiently compute the electrode charges "Q_electrode", which are + precisely the energy duals of the global "v_electrode" quantities; - to deal with floating potentials, which are the computed electrode - potential when the electrode charge is imposed + potentials when the electrode charge is imposed; - to provide output quantities (charges, armature voltages, capacitances, ...) that can be immediately used in a external circuit. */ @@ -57,8 +57,8 @@ Group { /* Abstract regions: Vol_Ele : volume where -div(epsilon grad v) = 0 is solved - Sur_Neu_Ele : surface where non homogeneous Neumann boundary conditions - (on n.d = -n . (epsilon grad v)) are imposed + Sur_Neu_Ele : surface with imposed non homogeneous Neumann boundary conditions + (on n.d = -n . (epsilon grad v)) Sur_Electrodes_Ele : electrode regions */ Vol_Ele = Region[ {Air, Diel1} ]; @@ -66,7 +66,7 @@ Group { Sur_Electrodes_Ele = Region [ {Ground, Microstrip} ]; } -/* A number of ONELAB parameters are defined to define model parameters or model +/* A number of ONELAB parameters are defined to provide model parameters or model options interactively. */ MicrostripTypeBC = DefineNumber[0, Name "1Microstrip excitation/Type", @@ -86,7 +86,7 @@ Function { Constraint { /* The Dirichlet boundary condition on the local electric potential is no - longer used. The microstrip and the ground are now treated as electrodes, + longer used. The microstrip and the ground are herein treated as electrodes, whose voltage is imposed with the "SetGlobalPotential" constraint below. */ { Name Dirichlet_Ele; Type Assign; Case { @@ -95,12 +95,12 @@ Constraint { { Name SetGlobalPotential; Type Assign; Case { - /* Define the imposed potential regionwise on the different parts of + /* Impose the potential regionwise on the different parts of "Sur_Electrodes_Ele". No voltage is imposed to the Microstrip electrode when the "Fixed charge" option is enabled (if MicrostripTypeBC != 0). */ { Region Ground; Value 0; } If(!MicrostripTypeBC) - { Region Microstrip; Value MicrostripValueBC; } + { Region Microstrip; Value MicrostripValueBC; } EndIf } } @@ -108,26 +108,26 @@ Constraint { Case { /* Impose the charge if MicrostripTypeBC != 0 */ If(MicrostripTypeBC) - { Region Microstrip; Value MicrostripValueBC; } + { Region Microstrip; Value MicrostripValueBC; } EndIf } } } Group{ - /* The domain of definition lists all regions on which the field "v" is + /* The domain of definition comprises all regions on which the field "v" is defined.*/ Dom_Hgrad_v_Ele = Region[ {Vol_Ele, Sur_Neu_Ele, Sur_Electrodes_Ele} ]; } FunctionSpace { - /* The magic in the treatment of global quantitities by GetDP is in the fact + /* The magic in the treatment of global quantitities by GetDP lies in the fact that nearly all the work is done at the level of the FunctionSpace definition. The finite element expansion of "v" is v = Sum_k sn_k vn_k + Sum_electrode v_electrode BF_electrode - with the the sum_k running over all nodes except those of the electrode + with the sum_k running over all nodes except those of the electrode regions. This is exactly what one finds in the FunctionSpace definition below with "sf" standing for "BF_electrode" and "vf" for "v_electrode". @@ -135,10 +135,10 @@ FunctionSpace { "GlobalQuantity" section; these names are used in the corresponding "GlobalTerm" in the Formulation. Such global terms are the equivalent of a "Integral" term, but where no integration needs to be performed. The - "AssociatedWith" statement manifests the fact that the global potential of + "AssociatedWith" statement refers to the fact that the global potential of an electrode is the (electrostatic) energy dual of the electric charge carried by that electrode. Indeed, let us consider the electrostatic weak - formulation derived in Tutorial 1: find v in Hgradv_Ele such that + formulation derived in Tutorial 1: find v in Hgrad_v_Ele such that (epsilon grad v, grad v')_Vol_Ele + (n . (epsilon grad v), v')_Bnd_Vol_Ele = 0 @@ -153,14 +153,14 @@ FunctionSpace { charge Q_electrode carried by the electrodes. By checking the "Display global basis functions" checkbox and running the - model, you can take a look on how the two "BF_electrode" basis functions in + model, you can take a look at how the two "BF_electrode" basis functions in this model look like. Constraints can then be set on either component of the FunctionSpace. Besides the usual Dirichlet boundary condition on the - local field, which is left here for the sake of completeness but is not - used in this model, there is the possibility to fix either the - GlobalPotential or the ArmatureCharge of each indidual electrode (not both, - of course). When the ArmatureCharge is fixed, the computed GlobalPotential - computed for that electrode is the so-called floating potential. */ + local field (left here for the sake of completeness but not + used in this model), one may fix either the + GlobalPotential or the ArmatureCharge of each indidual electrode (never both, + of course). When the ArmatureCharge is fixed, the computed GlobalPotential + for that electrode is the so-called floating potential. */ { Name Hgrad_v_Ele; Type Form0; BasisFunction { @@ -207,8 +207,8 @@ Integration { } Formulation { - /* The formulation only contains minor changes compared to formulation from - the first tutorial. The global quantities are declared as "Global" in the + /* The formulation contains only minor changes compared to formulation from + the first tutorial. The global quantities are declared as "Global" in the "Quantity" section, and a "GlobalTerm" is added that triggers the assembly of the additional equation per electrode (the "pre-integrated" boundary term) in the system to compute the charge Q_electrode, which @@ -290,8 +290,8 @@ PostProcessing { } } -/* Various output results are generated, which are both displayed in the - graphical user interface, and stored in disk files. In particular, global +/* Several output results are generated, which are both displayed in the + graphical user interface, and stored in disk files. In particular, global quantities related results are stored in the "output.txt" file. A user option allows to chose to not overwrite the "output.txt" file when running a new simulation. */