Ivar KJELBERG
COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)
Please login with a confirmed email address before reporting spam
Posted:
1 decade ago
27 juin 2012, 14:21 UTC−4
Hi
using a time stepping solver is good to analyse transient phenomena, when it comes to stady state analysis, it is much more efficient to use a frequency domain solver and a harmonic development of the equations.
The reason is mostly that you will need quite some time to settle all the turn on transients and this will ake you most of your solver time, while once the steady state condition reached, the solver still needs to loop through the full periode for each oscillation
In your cas, you have two excitations, but they have a phase difference from your dt (that is how I interprete your equations). So you select a frequency domain solver, and set the two amplitudes p1 and p2 (or twice p0 if the pressure is the same) then you add a physe subnode to one of the two memebrane load cases and add adephasing term "theta" in radians or degrees (depending on your overall esttings, check carefully the units ;)
and you define your prequency in the frequency domain solver node (you can also sweep the frequency over a range)
You might add a parametric solver node with different physe values to see how the system reacts when the phase changes if that is of interest
--
Good luck
Ivar
Hi
using a time stepping solver is good to analyse transient phenomena, when it comes to stady state analysis, it is much more efficient to use a frequency domain solver and a harmonic development of the equations.
The reason is mostly that you will need quite some time to settle all the turn on transients and this will ake you most of your solver time, while once the steady state condition reached, the solver still needs to loop through the full periode for each oscillation
In your cas, you have two excitations, but they have a phase difference from your dt (that is how I interprete your equations). So you select a frequency domain solver, and set the two amplitudes p1 and p2 (or twice p0 if the pressure is the same) then you add a physe subnode to one of the two memebrane load cases and add adephasing term "theta" in radians or degrees (depending on your overall esttings, check carefully the units ;)
and you define your prequency in the frequency domain solver node (you can also sweep the frequency over a range)
You might add a parametric solver node with different physe values to see how the system reacts when the phase changes if that is of interest
--
Good luck
Ivar
Please login with a confirmed email address before reporting spam
Posted:
1 decade ago
27 juin 2012, 17:03 UTC−4
Hi Ivar,
Thank you very much for the suggestion! It really helped me understanding quite a few things :)
I just have few more doubts...
If I just implement the Face Loads with the amplitude of the pressure wave p0 on the two membranes it all works nicely, but as soon as I enable the Phase subnode, I get the following error when solving (even if I set the phase to zero):
"Error in multiphysics compilation.
Error in automatic sequence generation."
Do you have any idea about what could that be due to?
And still concerning the phase subnode: my phase is w*dt, so how can I set such a phase if I want to perform the study on a whole range of frequencies? And how can I set the phase in degrees instead of radians?
Moreover, in my model dt represents the delay due to the fact that the wave will impact the two membranes at different times: it depends on the distance L between the two membranes and on the angle of incidence of the incoming wave, namely dt=L*sin(angle_incidence)/c, where c is the speed of sound.
Can I introduce the dependency upon the angle of incidence in the phase subnode and then set a range of values to be considered in a parametric solver node? That would be great!
Thank you so much for your help!
Hi Ivar,
Thank you very much for the suggestion! It really helped me understanding quite a few things :)
I just have few more doubts...
If I just implement the Face Loads with the amplitude of the pressure wave p0 on the two membranes it all works nicely, but as soon as I enable the Phase subnode, I get the following error when solving (even if I set the phase to zero):
"Error in multiphysics compilation.
Error in automatic sequence generation."
Do you have any idea about what could that be due to?
And still concerning the phase subnode: my phase is w*dt, so how can I set such a phase if I want to perform the study on a whole range of frequencies? And how can I set the phase in degrees instead of radians?
Moreover, in my model dt represents the delay due to the fact that the wave will impact the two membranes at different times: it depends on the distance L between the two membranes and on the angle of incidence of the incoming wave, namely dt=L*sin(angle_incidence)/c, where c is the speed of sound.
Can I introduce the dependency upon the angle of incidence in the phase subnode and then set a range of values to be considered in a parametric solver node? That would be great!
Thank you so much for your help!
Ivar KJELBERG
COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)
Please login with a confirmed email address before reporting spam
Posted:
1 decade ago
28 juin 2012, 02:31 UTC−4
Hi
check the dynamic help, the phase expression is something like the following for a frequency domain sweep
Amplitude: V(f) as the amplitude might vary with the frequency, or its invariant, up to you
phase contribution, internal formula when you define V(f) andPhase(f) : V(f)*cos(2*pi*freq+Phase(f))
again the phase contribution might change with frequency, or be invariant
now what I understand from your explanations is that your phase lag is due to the propagation time, but then I must ask more: this phase lag is the time of a given wave to propagate in the air, if you model the air COMSOL calculates this from the wave vector, its velocity etc (if you have a full model) if not you must define it but as an equation related to the wave vector, the velocity, the distance, and relate that to the active frequency to get a relative phase in angle
I believe the error comes from the variable you are using, something is wrong in the way to set up the phase lag like that.
Another important comment, avoid making your own variables with short names, as most letters are already used by COMSOL, and "w" is normally the 3rd coordinate displacement (or velocity in CFD) value.
COMSOL allow us to change the internal variables, so it does not necessarily flag this as an error, but often it's a mistake (name confusion)
--
Good luck
Ivar
Hi
check the dynamic help, the phase expression is something like the following for a frequency domain sweep
Amplitude: V(f) as the amplitude might vary with the frequency, or its invariant, up to you
phase contribution, internal formula when you define V(f) andPhase(f) : V(f)*cos(2*pi*freq+Phase(f))
again the phase contribution might change with frequency, or be invariant
now what I understand from your explanations is that your phase lag is due to the propagation time, but then I must ask more: this phase lag is the time of a given wave to propagate in the air, if you model the air COMSOL calculates this from the wave vector, its velocity etc (if you have a full model) if not you must define it but as an equation related to the wave vector, the velocity, the distance, and relate that to the active frequency to get a relative phase in angle
I believe the error comes from the variable you are using, something is wrong in the way to set up the phase lag like that.
Another important comment, avoid making your own variables with short names, as most letters are already used by COMSOL, and "w" is normally the 3rd coordinate displacement (or velocity in CFD) value.
COMSOL allow us to change the internal variables, so it does not necessarily flag this as an error, but often it's a mistake (name confusion)
--
Good luck
Ivar
Please login with a confirmed email address before reporting spam
Posted:
1 decade ago
28 juin 2012, 15:37 UTC−4
Hi,
Since the frequency in the frequency domain study must be given in Hz (so it is not an angular frequency [rad/s]), while the phase (Face Load subnode) is set in radians... does Comsol transform the frequency in rad/s when solving the study?
Thanks a lot!
Hi,
Since the frequency in the frequency domain study must be given in Hz (so it is not an angular frequency [rad/s]), while the phase (Face Load subnode) is set in radians... does Comsol transform the frequency in rad/s when solving the study?
Thanks a lot!
Ivar KJELBERG
COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)
Please login with a confirmed email address before reporting spam
Posted:
1 decade ago
29 juin 2012, 01:00 UTC−4
Hi
there is always the fight of people working in omega and those in frequency (I'm the latter ;)
So indeed, Comsol looks after the 2*pi*freq multiplication for us, you can see that in the doc, when they give formulas (try the search)
--
Good luck
Ivar
Hi
there is always the fight of people working in omega and those in frequency (I'm the latter ;)
So indeed, Comsol looks after the 2*pi*freq multiplication for us, you can see that in the doc, when they give formulas (try the search)
--
Good luck
Ivar
Please login with a confirmed email address before reporting spam
Posted:
1 decade ago
9 juil. 2012, 05:36 UTC−4
Hi all,
first of all I would like to inform that I have been told by the support that the error message I got when enabling the phase was a BUG, and that it has been fixed with the first update of version 4.3.
Concerning my project, the two membranes I am trying to simulate represent two tympanic membranes.
In the real system there is a little bone attached to them, which acts like a completely stiff bar, i.e. it can move "up and down" with the membrane, but it cannot bend.
I would like now to implement this feature with comsol: a little "slice" of my membrane should move stiffly "up and down" with the rest of the membrane without bending. Does anyone have any idea about how can I implement this with comsol? If I just increase the Young's modulus, I also increase the stiffness with respect to the "up and down" movement...
Any help is greatly appreaciated!
Hi all,
first of all I would like to inform that I have been told by the support that the error message I got when enabling the phase was a BUG, and that it has been fixed with the first update of version 4.3.
Concerning my project, the two membranes I am trying to simulate represent two tympanic membranes.
In the real system there is a little bone attached to them, which acts like a completely stiff bar, i.e. it can move "up and down" with the membrane, but it cannot bend.
I would like now to implement this feature with comsol: a little "slice" of my membrane should move stiffly "up and down" with the rest of the membrane without bending. Does anyone have any idea about how can I implement this with comsol? If I just increase the Young's modulus, I also increase the stiffness with respect to the "up and down" movement...
Any help is greatly appreaciated!
Please login with a confirmed email address before reporting spam
Posted:
1 decade ago
23 août 2012, 16:19 UTC−4
I am working on a similar model but without Acoustic module. I am trying to apply a time/frequency dependent load on three membranes and also including phase difference between membranes. I was wondering if you would mind sharing your model. I am interested in the implementation of the frequency domain solver and phase subnodes.
Thank you for your help.
I am working on a similar model but without Acoustic module. I am trying to apply a time/frequency dependent load on three membranes and also including phase difference between membranes. I was wondering if you would mind sharing your model. I am interested in the implementation of the frequency domain solver and phase subnodes.
Thank you for your help.