Discussion Closed This discussion was created more than 6 months ago and has been closed. To start a new discussion with a link back to this one, click here.

Harmonic perturbation response equal zero

Please login with a confirmed email address before reporting spam

Comsol users,

I have a doubt regarding the frequency analysis (perturbation) in the AC/DC module, v5.1.

When I compute a 'General evaluation' for this study, there's a menu under 'Evaluate expresion for'. If I choose 'Harmonic perturbation', the result of the evaluation is always zero, even if I evaluate the value of a constant parameter. If I change the 'evaluate expresion for' option to 'static solution' I get the right solution (the response to the perturbation). Can someone explain me why is this happening?

Best wishes,
Ramón

1 Reply Last Post 27.01.2016, 04:32 GMT-5
Magnus Olsson COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 8 years ago 27.01.2016, 04:32 GMT-5
Hi Ramón,

Small-signal analysis is a useful approach when you have a nonlinear device like a semiconductor or an inductor with a ferromagnetic core that is driven by a comparatively large static (DC) signal with a superimposed, much smaller AC signal. Then, it is practical to first solve a static model to get the operating point (linearization point) of the device and then solve a frequency domain model for the AC perturbation around that operating point.

Now, in COMSOL that involves two study steps in the same study:

1) Stationary (DC) solution. Note that the DC "signal" can be something like a permanent magnet.
2) Frequency Domain, Linearized (AC) solution.

When setting up the model, you also tell what features/excitations belong to the DC and AC signals.
By adding features/subfeatures labelled "harmonic perturbation" or by using the "linper" operator to tell COMSOL that it is an AC contribution. For example a current excitation of;

100 + linper(1)

will represent 100A DC + 1A AC. If you do not use "harmonic perturbation" features or the "linper" operator it will be interpreted as a DC contribution.

In the postprocessing, you similarly evaluate either the AC or the DC part of the solution and/or excitations. Thus if you select to evaluate for "Harmonic Perturbation" you will get the AC part of the solution or input or whatever expression you are referring to. Thus if you evaluate for a constant, you get zero. As it is not part of the solution, COMSOL assumes it is a DC constant. If you instead evaluate the same way but for linper("the same constant"), you get the constant value.

There are situations when it is better to use operators also in the postprocessing and that is when you are after products or ratios of AC quantities. Then make sure to:

a) Deselect the "compute differential" check box.
b) Use the "lindev" operator to get the AC part of an expression.

For example in the example small signal analysis of an inductor, you can manually evaluate the AC inductance as:

imag((lindev(mf.VCoil_coil)*mf.ICoil_coil-mf.VCoil_coil*lindev(mf.ICoil_coil))/mf.ICoil_coil^2)/mf.omega

That deduction is based on the assumption that the AC coil impedance Z is given by:

Z = V/I = R + j*omega*L

Now, if you did not explicitly use the syntax

lindev(a)/lindev(b)

bur rather just entered

a/b

with "compute differential" selected, COMSOL would behind the scenes rather compute

lindev(a/b)

which is something different.

Finally, I should mention that there is also a "linpoint" operator that extracts the DC part of an expression in postprocessing.

--
Magnus
Hi Ramón, Small-signal analysis is a useful approach when you have a nonlinear device like a semiconductor or an inductor with a ferromagnetic core that is driven by a comparatively large static (DC) signal with a superimposed, much smaller AC signal. Then, it is practical to first solve a static model to get the operating point (linearization point) of the device and then solve a frequency domain model for the AC perturbation around that operating point. Now, in COMSOL that involves two study steps in the same study: 1) Stationary (DC) solution. Note that the DC "signal" can be something like a permanent magnet. 2) Frequency Domain, Linearized (AC) solution. When setting up the model, you also tell what features/excitations belong to the DC and AC signals. By adding features/subfeatures labelled "harmonic perturbation" or by using the "linper" operator to tell COMSOL that it is an AC contribution. For example a current excitation of; 100 + linper(1) will represent 100A DC + 1A AC. If you do not use "harmonic perturbation" features or the "linper" operator it will be interpreted as a DC contribution. In the postprocessing, you similarly evaluate either the AC or the DC part of the solution and/or excitations. Thus if you select to evaluate for "Harmonic Perturbation" you will get the AC part of the solution or input or whatever expression you are referring to. Thus if you evaluate for a constant, you get zero. As it is not part of the solution, COMSOL assumes it is a DC constant. If you instead evaluate the same way but for linper("the same constant"), you get the constant value. There are situations when it is better to use operators also in the postprocessing and that is when you are after products or ratios of AC quantities. Then make sure to: a) Deselect the "compute differential" check box. b) Use the "lindev" operator to get the AC part of an expression. For example in the example small signal analysis of an inductor, you can manually evaluate the AC inductance as: imag((lindev(mf.VCoil_coil)*mf.ICoil_coil-mf.VCoil_coil*lindev(mf.ICoil_coil))/mf.ICoil_coil^2)/mf.omega That deduction is based on the assumption that the AC coil impedance Z is given by: Z = V/I = R + j*omega*L Now, if you did not explicitly use the syntax lindev(a)/lindev(b) bur rather just entered a/b with "compute differential" selected, COMSOL would behind the scenes rather compute lindev(a/b) which is something different. Finally, I should mention that there is also a "linpoint" operator that extracts the DC part of an expression in postprocessing. -- Magnus

Note that while COMSOL employees may participate in the discussion forum, COMSOL® software users who are on-subscription should submit their questions via the Support Center for a more comprehensive response from the Technical Support team.