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.
pulse train
Posted 11 janv. 2012, 07:02 UTC−5 Version 5.2 23 Replies
Please login with a confirmed email address before reporting spam
i try to get generated heat in cable termination as a result of pulse train ( apply for 5 hours)
first i want to generate the pulse train (0.5ms ON and period 1 ms) the value of pulse equal to 16 kV
i don't know how to creat pulse for 4 hours and how to apply it?
thank you for help
Please login with a confirmed email address before reporting spam
are you sure the pulse train is really of interest in all details ?
5 hour = 5*3600*1000 ms or some 1.8E7 ms with a 1.5 ms duty cycle you have some 12 million cycles, if you want to resolve them in details you need at least 10 stored results per cycle that is 120 million solutions, your DB will explode or be near to.
And what happens in a Cu structure (lets assume it's copper) in 1 msec ?
The heat diffusivity alpha=kt/rho/Cp of Cu is about 110 [mm^2/s], the total penetration depth after 1 ms is about sqrt(4*alpha*Dt) or some 0.66 mm, so even after an hour you will only resolve the oscillation over perhaps a few mm, thereafter you will have a steady decay.
I believe it could be worth considering a two step approach using the average input flux for the long term and a more detailed study for a short time for the local heat oscillations. Be aware of your mesh density to time step limitations.
At least to think of if you want to finish the simulation this year ;)
to generate symmetric pulses you can use the "wave square function" for your asymmetrical ones you need to combine a "pulse" to have smooth turn on and off, and a modulo to get it repeat.
And do not forget to use "time Stepping" Intermediate, else your pulses will disappear
--
Good luck
Ivar
Please login with a confirmed email address before reporting spam
Thanks for your reply. Actually, i don't need all details of the process but i want to obtain the max.temp occured at steady state.
from the actual measurment , i have observed that the temperature of cable termiaton reached the max temp. after 4 hours. So that, i need to apply pulse train for almost 4 hours to get the value of max temp. (BUT i don't need all the detailed informaton before)
So that , the first problem to creat the pulse train for 4hours as follows:
i get rec1() ( lower limit= 0; upper limit= .5 E-3, transition= 20 E-6)
then , i add analytical function an1() from function
expression: 15000* rect1(mod(t,1E-3))
Argument : t
periodic fun.: make perid
lower limit : 0
upper limit: 3600*5
plot paremter;
Arg.: t
lower:0
upper: 3600*5
when i plot it , i don't receive my target
so what can i do?
--- another question (sorry for taking you time) what did you mean by time stepping in first reply? how can i use it in Comsol?
finally , really i am very gratful for you
Please login with a confirmed email address before reporting spam
Here are some advises:
if you choose "make periodic", you do not need the "mod(t,1e3)", just "t" as the mod is already there
if you want to look at the plot, put Plot parameter 0 0.004 to see some details, if you ask for 12 million oscillation your screen resolution is not good enough. The plot Parameters is only for the visualisation of the plot of your function, nothing to do with the solver sequence.
Now what I proposed was to calculate the average power and apply that, without the small oscillations, you will get the same overall T shape.
Do not forget to define a time stepping for the time siler that sees the short rise and fall times
Another question do you apply a heat source ? or do you use Joules heating by a current pulsing ?
--
Good luck
Ivar
Please login with a confirmed email address before reporting spam
thanks alot for your concern,
Actually i use heat joules as a result of applyin pulse high voltage (15 kV) with frquancy (1000 hz)
i want to get the generated heat as a result of electric field at the termination and obtain the maximum temp. of termination .
Please login with a confirmed email address before reporting spam
I am sorry for repeated questions. i need more details to get the pulse train correct
first i open function and recangle and in rect1 ( i put the lower limit =0 and upper limit =0.5e-3 and transition = 20 e-6)
in parameters i put DV( voltage) and in expressions (15000* rect1(mod((t[1/s],1e-3)) ( i don't find plot button to can check my pulse train).
Then i don't know where i can put time stepping to generate the pulse train
please help me
Please login with a confirmed email address before reporting spam
I am sorry for repeated questions. i need more details to get the pulse train correct
first i open function and recangle and in rect1 ( i put the lower limit =0 and upper limit =0.5e-3 and transition = 20 e-6)
in parameters i put DV( voltage) and in expressions (15000* rect1(mod((t[1/s],1e-3)) ( i don't find plot button to can check my pulse train).
Then i don't know where i can put time stepping to generate the pulse train
please help me
Please login with a confirmed email address before reporting spam
I remain convinced that you should rather analyse 1 pulse, extract the average energy there from and apply that in a stationary analysis rather than trying to resolve 5 hours of 1kHz, 20us rise time rectangular pulses. But up to you to try. Anyhow COMSOL does not allow to have more than a few hundred thousand elements in a list so you must stop and restart manually each "1 hour"
You could try something like this (4.2a):
--
Good luck
Ivar
Attachments:
Please login with a confirmed email address before reporting spam
Actually i don't find words to express my appreciation for your help and your effort.i follow the attached detailed informations and have succed to get pulse train.
but accept my aplogies for another questions
1- i don't understand how i can get the energy of one pulse and make a stationy analysis (as you said) Although comsol doesn't accept stationary analysis for time varying input.
2- how i run for 1 hour and apply the result for another hour ( you know i want the results after 5 hours)
3- finally, when i put the input(pulse train) and make time rang (0,0.001,10), the system doesn't converge and i don't get any result so that i can't run for 360!!
and another problem ( i notice that you define rect1 and an1 (in local defintion not global definitions) but when i define in global defintions( i can plot it) otherwise i when i define in local defintions (it gives me erroe undfine function an2)!!!
help me,and great thanks
Please login with a confirmed email address before reporting spam
global or local, is only different by the scope (from my knowledge, but I do not know all subtilities ;), if you have one model then there is no great difference, if you have several models in the same file then it's the naming convention to call them that differs. Normally the two are the same to plot and to define, but one is normally accessed by something like "root.an1(...)", while the other "root.model1.an2(...)" (depends a little on the tags names you have)
What I would propose is that you start to solve for only 2-5 pulses, with a longer turn on and off slope, and more points (time steps). Just to consider how your model behaves. Then I believe you will come to the conclusions quickly that you can take the average power of your square pulse and apply that as a continuous source, and then use either a stationary (to get the final stage) or use a time series to see the time dependence, but then I would propose to use a time step of the type 0 2^{range(-2,1,15)} or something like 0 10^{range(-1,0.25,4.5)} with this average value.
It depends though on the size of your device, I assume its of a total weight of several kg or above, and in metal, because that should then correspond approximately to the time constants you could get.
If its a MEMS device and sizes in mm or even um, then the time scale is fractions of seconds, and after about 1 sec your device wil be "red" from those voltage levels
Take a very simple example: a cylindrical rod in 2D-axi of about the same volume as your model, then apply your main conditions and solve that, just to get the feeling how things behave. Then go back to your detailed model and redo the simulation
--
Good luck
Ivar
Please login with a confirmed email address before reporting spam
thank you very much for your help.
I draw a simple model and i put my boundary conditions and i try to get the solution in rang (0,1,3600).
it gives me error " it may be reach singularity"
i don't know how to deal with this error
i have attched my simple model to take a look and give me your advise.
thank you for your great help.
Attachments:
Please login with a confirmed email address before reporting spam
A few comments:
Your DV is not really a "Parameter" as it depends on "t" and an analytical function, and "t" is not really defined before the time solver starts to operate.
Use "Parameters" for static values that you call elsewhere, and rather define your variable in model1 Definitions Variables as DV=an1(t([1/t])*1[V]
the units is there because you have not defined any units in the analytical function definition an1(), there you can define seconds as inputs and Voltage as output and then remove all unit references in the calls, up to you.
Another point you are in 2D and not 2D-axi, are you using long connectors (default 1m depth in Z out of paper direction)
or round cylindrical devices ? if the latter you must define your geometry in 2D-axi (you cannot change that once started yo you need to make a new model)
Your device is much smaller than what I had expected, but OK This implies only that the volume to surface ratio is different and this will have an influence on the mesh density, time stepping and the thermal related heat diffusion value "alpha". Alpha is not calculated within COMSOL (should be as for me its essential to test your mesh density w.r.t. the material choice used. Alpha = k/rho/Cp from your material constants and you should respect that the mesh density <= sqrt(alpha*Dt) where Dt is you smallest time step.
You can calculate alpha [m^2/s]=[mm^2/us] as a parameter easily (per material) (you get something like 0.12 and 1.7 [m^2/s] for your two materials, this tell you that you need quite a different mesh in your two materials for small time steps, yours is far too coarse for time solver (it could do for a stationary case)
I often use "boundary" meshes at least on the boundary side of the low thermal conducting material.
In your case try at least Size "extremely fine mesh", with custom resolution of narrow regions = 2 (plus a boundary mesh on domain "1", boundary "4"
Another point, you see it easily on your results, you have a "singularity" or thermal flux concentration point at your point "4". To make it less numerical singular you could use a fillet or a taper at that region on your domain "2"
I do not really understand the "ground boundary", I would rather see it on the external boundary only, anyhow with the very large conductivity difference, your domain 2 is a "perfect conductor" (by the way this difference is so great that it might give some issues for the solving of V (binary number have a limited resolution)
Time stepping: start to resolve 2-4 [ms] first with something like range(0,0.05,2)*1e-3
then increase gently, finally you might get to hours. and used a Time stepper range node "linked" to the solver 1 range
In the main Joule heating physics, you might want to change the "thickness" from 1[m] by default to perhaps 2[mm] ? or whatever is correct for you
Then you "heat flux" boundary, is it that you are heating or is it convective "cooling" in which case you have an error in the sign, and you could use the corresponding boundary condition which corrects the sign
In general my remarks are valid for higher conductivity with some true energy dissipation in your material, as if you look what you have its in the 2E-21[W] region, that will not heat up much even a few grammes of material ;)
(do not mix resistivity and conductivity)
--
Good luck
Ivar
Please login with a confirmed email address before reporting spam
thank you for your help
i tried to make your notes
1- i changed DV to variables ( as it described as an1(t[1/s])
2- i make the edge 4 flat
i find singularity in running simulation
i don't know why?
help me please
the file is attached
thank you
Attachments:
Please login with a confirmed email address before reporting spam
thank you for your help
i tried to make your notes
1- i changed DV to variables ( as it described as an1(t[1/s])
2- i make the edge 4 flat
i find singularity in running simulation
i don't know why?
help me please
the file is attached
thank you
Attachments:
Please login with a confirmed email address before reporting spam
Nice to see the model getting more and more complete.
Still a few comments:
1) functions and units, with the latest version COMSOL proposes to add units to the analytical operator definitions, sou you could add s for seconds for the an1 argument and V for voltage for the result, if you then plot the an1() you will see the units too n the screen, easier to check, and then you can call an(t) without the t[1/s] as COMSOL will ensure units remain coherent for you
2) Your initial values 2 are the same as the initial value 1, no need to add them, keep the model simple
3) Your GND is on both boundaries of a slightly conducting material, does that mean that you have some kind of thin gold layer there or ?
4) your voltage source is all along the Cu, which screens the Cu from any Joule heating. I would have expected that the current passing through the Cu rod would heat up the rod and set the potential accordingly to the Cu resistance
And as you have a very good isolator you will only have mW of joule heating in the isolator, not to say that the ratio >1:1E16 of the currents (from the conductivities) is somewhat more than what the binary number representation can perform.
You should still, in my opinion, take some time to define carefully what are the electric signals and where do they pass and which item will produce the most heat, which material could perhaps be considered as non conducting (fully) etc
To get your solution to converge:
start using a "study 1 - Time dependent" range of range(0,0.0001,0.01)
And study 1 ... solver1 - Time dependent solver" tab, set the "Defined by study step" to Step 1 (and NOT User defined, else you must change the range 2x, this was a weakness in 4.0, no longer in the newer versions)
--
Good luck
Ivar
Please login with a confirmed email address before reporting spam
thank you for your distinguished help
i try to put time rang in (0,0.001,0.01) and still i have singularity.
i send you my detailed model in word file and my comsol file also
please give me your opinion
Attachments:
Please login with a confirmed email address before reporting spam
first in your meshing, delete the Free Triangular 1 (and leave the 2), (note: test later the mesh sensitivity, by setting the size to extremely fine, and then custom Resolution of narrow region = 3)
Then in your Global Definition rectangle type your Parameters to Lower Limit 0 + 0.1E-4/2 and Upper limit 0.5e-3+0.1e-4/2 and leave the smoothing to 0.1E-4
Like this your an1(t=0) starts at V=0 and not half way up 8000V, which is too much for the solver
Then it works better
--
Good luck
Ivar
Please login with a confirmed email address before reporting spam
you could also take a look at the new "Frequency-Transient" and Frequency - Stationary solvers, this will remove the oscillations but give you the general tendency of temperature change (read carefully the doc, there are some hypotheses to respect there in)
--
Good luck
Ivar
Please login with a confirmed email address before reporting spam
Dear Ivar
I tried to complete my model but i faced two problem
1) when i make my pulse train , an error occured and seis no set of argumenr despite of putting the rang of t !!!!
2) the second problem , is when i changed the variable to wv1 (sinewave) and try to solve the model (just to see its behavior) it gives me error and i don't know why?
please, i attched my model , take a look and give me your advise
thank you for your great help
Attachments:
Please login with a confirmed email address before reporting spam
a few comments, you redefine the "wall" boundary node, why not use the default one, mostly one do not need to add a new one (sometimes yes), just change the default to "slip" (even if I would have expected no-slip)
I do not see why you integrate the lengths and leave them only defined locally, set them up as Parameters and define your geoemtry with the parameters then you can use these also in the convective cooling node
Your initial pressure is strange I would propose (height-z) where height is defined as the height with correct units !!
Your mesh is far to coarse, and I would use boundary mesh or leave COMSOls default physics induced mesh
to see what is happening turn on the plots while solving all steps
You have noticed you are in mm scale so you are looking after wery small scales effects, its not sure you can get convective effects running as the thermal gradients could be too low due to the size and the thermal heat dissipation
Then the external or internal or user defined convective cooling BCs need to be somewhat adapted, I would start with standard "h" value before using some of the advanced models but then the Temperature BC conditions is a duplicate
So I believe you need to study a bit more your physics doc and think over what you are modelling you seem to have started from the "convection in a water glass" model but there you have also some solid material which doubles up the boundaries, hence some thinnking of what is happening when you remove the solid is I beliave required
--
Good luck
Ivar
Please login with a confirmed email address before reporting spam
thank you for your answer
But unfortuntally i didn't understand several comments:
1) you said that i redefined the "wall" boundary node where?!!!!!!
2) you said that my intial pressure is strange ........ i didn't find where i put the pressure value?!!!
3)you didn't answer me why my pulse train give me error!!!!!
thank you very much
Please login with a confirmed email address before reporting spam
I'm having some challenges with implementing a step input in my comsol simulation. I have a packed bed reactor running at steady state which I need to excite with a step input but can't seem to implement this. I know how to design the excitation signal but can figure out how to couple this to my simulation. My simulation is implemented in version 4.0a. I appreciate any help you can render in this regards.
Thanks
Emem
Please login with a confirmed email address before reporting spam
I read your discussion thread. I am facing a similar problem. Did you solve your problem ?
Please login with a confirmed email address before reporting spam
Hi
I remain convinced that you should rather analyse 1 pulse, extract the average energy there from and apply that in a stationary analysis rather than trying to resolve 5 hours of 1kHz, 20us rise time rectangular pulses. But up to you to try. Anyhow COMSOL does not allow to have more than a few hundred thousand elements in a list so you must stop and restart manually each "1 hour"
You could try something like this (4.2a):
--
Good luck
Ivar
Thanks Ivar! Really helpful.
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.