Magnus Olsson
                                                                                                                                                    COMSOL Employee
                                                         
                            
                                                                                                                                                
                         
                                                
    
        Please login with a confirmed email address before reporting spam
     
    
 
                                                Posted:
                            
                                10 years ago                            
                            
                                2016年1月27日 GMT+8 17:32                            
                        
                        
                                                    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