Hi,
I'm receiving the following error when performing a Transient Mass Transfer simulation:
Error: Found zero loading at species
I've found elsewhere online that this error means that the species has no load and 0 initial concentration, and that I should confirm that the species indicated in the error message has a load or initial concentration somewhere in the model.
I do have a sink defined in my model, as well as a fixed surface flux.
I have found that if my surface flux is too low, I receive the above error. If I increase the magnitude of the surface flux by a few orders of magnitude, I don't get the error anymore.
Is there some way to adjust the threshold? Of course, I can increase my flux and then get higher concentrations, and then scale afterwards, etc., but I would much rather simulate the actual use case with the appropriate fluxes. Would it make a difference if I change the system units?
Thanks!
Solved! Go to Solution.
Solved by Joey.X. Go to Solution.
The threshold detecting zero loading is tiny, could you upload you archive model to see what is going on?
Thanks,
Hi Joey,
My surface boundary condition is around 2 x 10^-19 N*sec^2/mm/(mm^2*sec), over a surface of a few mm. (Gotta love those units!) It will accept down to about 10^-12, but smaller than that, I get the error.
Unfortunately, I can't upload the model to a public forum.
Since the concentration vs. elution rate is a linear process, I'm able to use 2 N*sec^2/mm/(mm^2*sec), as an example, and scale my concentration results by 10^-19. The maximum concentration resulting in the model should be around 1 x 10^-15 N*sec^2/mm/mm^3, so I get 10,000 and then scale by 10^-19. This works, but it would be nicer if I could use real values and not have to scale everything.
Would changing the units affect anything, or does Simulation use the same units internally, regardless of the Unit System selected?
Thanks!
hi, tfjield,
Thanks for the interesting discovering.
For loads at level of 10^-19(with whatever unit, but current unit), software treats it as zero loads because it's too tiny to be larger than the threshold value.
Here are possible workarounds
- Changing current unit system to let original loads value large than 1e-12
- Scaling loads to finish simulation, but scale result back(by user only) at result interpreting.
Thanks,
Thank you, Joey.X. That's the route I've taken: scaling my input and scaling my output.
Just as a suggestion to the developers, it would really be nice if we didn't have to do this, i.e. if the system would handle the units appropriately. Perhaps the pre- and post-scaling could be built in?
Just as an example, consider the TAXUS drug coated stent produced by Boston Scientific -- one of the most well known drug coated stents in the world. Literature reports that this stent is loaded with approximately 1 ug/mm^2 of paclitaxel and elutes for approximately 90 days. Thus the elution rate is roughly 0.011 ug/mm^2/day, or 1.273 x 10^-19 N*sec^2/mm/(mm^2*sec).
My point is that this order of magnitude for boundary conditions for real-world type drug elution problems is fairly common, and many users that do Mass Transport modeling would benefit from being able to use appropriate orders of magnitude.
Thanks again!
hi, tfjield
I agree that the unit like this N*sec^2/mm/(mm^2*sec) is crazy and could be improved to regulated format, thanks for the feedback,
Regards,