-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Behavior of neutral density and question on config parameters #136
Comments
Hey, thanks for your questions. I think the neutral temperature doesn't do what you're expecting it to do. You're trying to modify the anode temperature in order to adjust the neutral velocity, correct? To do that, you would need to modify the To your third and fourth question, the parameters
So a higher value of alpha increases wall losses. The electron plume loss scale is applied on top of this value, as in certain configurations you might want to adjust the plume losses separately from those in the channel. In general, 1.0 is a good default. In the plume, then, the effective "density at the walls" is
Lastly, the discharge current is computed here, in function _discharge_current(params)
(;cache, Δz_edge, ϕ_L, ϕ_R, ncells, iteration) = params
(;∇pe, μ, ne, ji, Vs, channel_area) = cache
int1 = 0.0
int2 = 0.0
apply_drag = false & !params.config.LANDMARK & (iteration[] > 5)
if (apply_drag)
(;νei, νen, νan, ui) = cache
end
@inbounds for i in 1:ncells-1
Δz = Δz_edge[i]
int1_1 = (ji[i] / e / μ[i] + ∇pe[i]) / ne[i]
int1_2 = (ji[i+1] / e / μ[i+1] + ∇pe[i+1]) / ne[i+1]
if (apply_drag)
ion_drag_1 = ui[1, i ] * (νei[i ] + νan[i ]) * me / e
ion_drag_2 = ui[1, i+1] * (νei[i+1] + νan[i+1]) * me / e
neutral_drag_1 = params.config.neutral_velocity * νen[i ] * me / e
neutral_drag_2 = params.config.neutral_velocity * νen[i+1] * me / e
int1_1 -= ion_drag_1 + neutral_drag_1
int1_2 -= ion_drag_2 + neutral_drag_2
end
int1 += 0.5 * Δz * (int1_1 + int1_2)
int2_1 = inv(e * ne[i] * μ[i] * channel_area[i])
int2_2 = inv(e * ne[i+1] * μ[i+1] * channel_area[i+1])
int2 += 0.5 * Δz * (int2_1 + int2_2)
end
ΔV = ϕ_L - ϕ_R + Vs[]
I = (ΔV + int1) / int2
return I
end Here, we integrate Ohm's law axially to express the discharge current in terms of the discharge voltage and other electron parameters. This allows us to ensure that it is constant axially. I have also seen that for SPT-100 simulations, we tend to over-predict the discharge current compared to 2D sims, especially using two-zone Bohm profiles. I don't have a good idea why, but I don't think it's this code specifically, as we match the Landmark benchmark discharge currents, all of which are 7-8 A for an SPT-100-like case. (table 1 here) |
I am working on modifying the neutral velocity to work as you expect and to update the documentation to better describe the wall loss scaling. Bear with me and I should have a change pushed shortly! |
Anothing thing I noticed. We prescribe a transition length between the inner and outer anomalous transport zones. By default, this is 1/5 of a channel length, but you may want to shorten it for your purposes. This parameter is "transition_length_m" in the config file. I might actually change this parameter to 1/10 by default since 1/5 seems a bit too long. |
Thank you for the quick answer ! (Unfortunately I was not available this weekend to answer and look at the modification in detail, sorry). Nota bene : when I was looking at the changes, I noticed that |
Good catch! Fixed that. |
It seems that there is a unity problem with the change in the I tried using |
Ok, I see. I'm working on a fix right now. |
New version (0.16.2) should fix things! |
Hello Thomas. Questions about how the neutral density is computed inside the package in initialization.jl source file and the relation to ionization rate. Implementation
Remark :In the |
The code you've referenced is just the initial neutral velocity at timestep zero. During the remainder of the code, the neutral density is computed using the continuity equation: This is handled in At the left boundary, the neutral density is just This is computed in You're right about the units in landmark_rates.csv. I will update that file in the next version. |
Hey, just checking in to see how things are going. have your issues been resolved? |
Hey, thank you for the interest. Unfortunately, not really 😅 I tried many different things to match the ionization rate, but the neutral density was still too low and plasma density too high. I switched to another thruster, the P5 (developed in your laboratory, if I well remember) because I found experimental data on the PEPL website (especially in 2001_haas_thesis.pdf). And now I am trying to match the data on the center of the channel for the 1.6kW case (R=12.5 mm) with HallThruster.jl, but I have issues with the original position of the cathode (not said in the document), the discharge current which is far too high compared to the data (between 7 and 15 A and is supposed to be 5.4 A for the 1.6kW case), the position of the peak of electron temperature, an early drop in the plasma potential resulting in the accumulation of plasma density ner the anode and the correct value to use for the anomalous model (I use a TwoZoneBohm). Have you ever tried to simulate it in HallThruster.jl ? EDIT : I saw in the |
I have not tried to simulate the P5 before. The current_spectrum function is obsolete at this point and will be removed/replaced in a future update. Can you share some plots of your problems? I can see if there's anything that sticks out to me. |
Sure ! For the anomalous transport I used
I think that most of my problems come from the anomalous modelization, I never know which function and values to use. I always have to try different values to adapt to the case I have. (I also didn't really understand how to use the |
Thanks for sharing. Looking through the Haas thesis, it looks like you're actually plotting measurements instead of simulation results. There are some simulation results in section 6.6, beginning at page 186. Those simulation results don't show a double peak.
This will largely be controlled by the anomalous transport
That's certainly true. This is the most challenging part of Hall thruster modeling, and the anomalous transport must always be tuned. To match this data, I would recommend a However, i would caution that probes like those employed in this work are known to be highly perturbative, and may cause the spatial location and magnitude of these variables to shift around, so matching these data exactly may be difficult. For example the double-peaked number density seems pretty suspect to me. |
Can you share plots both with and without adjusting the wall loss
coefficient?
to 18. heinäk. 2024 klo 10.44 ap. bboyeleven ***@***.***>
kirjoitti:
… Hello. Regarding the original issue, I have not managed to solve it and
there are behavior of plasma properties that I don't understand yet :
Figure_1.png (view on web)
<https://github.com/user-attachments/assets/c5fb862c-5744-45fd-b7e3-b66522ddeac3>
While I think the anomalous model is not perfectly adjust to the problem,
there are still behaviors that perhaps are not related to it, and more to
other parameters. Especially for the plasma density and neutral density.
For the plasma density, the ionization rate is far too high while the
neutral density is well-adjusted (with this angle on the curve but with
good order of magnitude).
I can match the order of magnitude of the plasma density by changing the
wall_loss_model and switch $\alpha$ to 6.5, but I'm not sure regarding
physical reality of that assumption. And furthermore, the neutral density
is acting weird then.
[image: Figure_1]
<https://github.com/user-attachments/assets/c6acd5c5-fa9d-47da-b62c-3a57148cece8>
Is it, when trying to match data, mandatory to adjust the wall_loss_model
? This parameter is making the curves go crazy while varying $\alpha$.
When you increase $\alpha$ the plasma density decrease at first but
sometimes re-increase suddenly or drop to 0.
—
Reply to this email directly, view it on GitHub
<#136 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AOP3QGXNHNVPDVUK4K74NGDZM7IDHAVCNFSM6AAAAABKNQVHKWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMZWG43DCMRQGY>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
It is already the case, between the first and second series of plots, only the |
No that's fine! I'll give it some thought. |
Hello @archermarx. I have questions regarding the issue. Wall temperature is not adjustable in HallThruster.jl ? It could be perhaps a clue to the issue (neutrals interaction with the wall). Also for the discharge current we have those results :
The discharge current is always higher than it is expected. It looks strange to me that with the wall loss function adaption, the computed current almost doubles the expected value. |
Apologies for the delay on the response. I totally missed this.
Let me know if you've had any further issues! |
Hi, I am still learning the code and physics of Hall Thruster (I wrote an issue with the tutorial not long ago) and I have new questions !
ion_temperature
andneutral_temperature
. After running several simulations and plotted them all together, it appears that the value change of plasma properties, performances and frequencies is very low. For theneutral_temperature
, I expected at least a variation of the neutral density at the inlet. Here are the plots :And it is the same for the ion_temperature, do you have an idea ?
I plotted many different plasma properties compared to data I get from
2007_Hofer_HPHall2-mobility-model_AIAA-2007-5267.pdf and tried to match the better I could with HallThruster.jl. It is quite accurate for electron temperature, plasma potential, ion density, ion velocity (from another dataset) and electron mobility. But I have an issue with the neutral density, I can't make it match Hofer's data and apart from modifying the
neutral_velocity
at the inlet (which modify also the electron temperature) I have no other parameters to modify that properties. What do you think the inlet neutral density is so far from Hofer's calculation ?I would like to understand the physics behind the parameter
wall_loss_model
, the default value in the code iswall_loss_model = WallSheath(HallThruster.BNSiO2, 1.0)
for BNSiO2 it is the material, so I understand you enteredϵ_star = 40
andσ₀ = 0.54
which are physical properties of the material. But what of the second parameter ? In the source code it is defined as α and intervenes in the formula of the electron-wall collision frequency, but you don't specify what is it and what it changes when you modify it ? Is it simply a proportional value ?Almost the same question for the parameter
electron_plume_loss_scale = 1.0
, where in the equations does it intervene ? And what should happen in the behavior of the plasma properties if I modify it ?And last question (I have many 😅), I didn't find in the source code nor in the documentation how the
discharge_current
was calculated from the simulation. Because once again, the one from my simulation is far from Hofer's one. 7 to 4.5 A.For information, here is my configuration (for the comparison) :
Thanks in advance for your answer 🙏.
The text was updated successfully, but these errors were encountered: