这个包含有各种电离截面模型。

ionics的Python项目详细描述


安装

要求

如果您在unix上,那么所有依赖项都会在安装时自动安装。如果你是 使用windows时,numpyscipy依赖项不能自动安装为 它们需要针对特定操作系统预编译的二进制文件。Scipy不支持 Windows的二进制文件正式发布。请考虑有关 scientific Python distributionsinofficial binaries

gui使用PyQt4,必须单独安装(gui还支持pyqt5,它可以 安装方法与下面的pyqt4安装说明类似)。你当然可以用这个包裹 在脚本中没有gui,只需导入它。但是如果你想使用图形用户界面,请 请考虑以下资源:

  • unix-您可以从here下载最新版本。请按照安装 本网站上的说明。通常您必须从源代码构建它,尽管这相当简单。
  • windows-从this website下载正确的pyqt4版本; 确保您的python和os版本匹配。然后打开powershell(按windows键 并在搜索字段中键入“powershell”;我们建议使用x86版本)并导航到 下载.whl文件的文件夹(通常是Downloads)。然后安装 通过pip install <version>.whl打包,并将<version>.whl替换为 下载的文件(可以在powershell中使用制表符完成)。

gui还使用matplotlib;请访问他们的website 安装说明。

安装软件包

您可以通过运行pip install ionics从pip安装包。

注意:如果您使用的是windows,则必须将python添加到您的路径中,以便 超越命令才能成功。

用法

图形用户界面

要使用图形用户界面,请导航到安装包的目录。 您可以通过运行python -c "import ionics; print ionics.__file__"找到它。在那里面 目录只运行python start_gui.py

浏览横截面

在左侧,您可以找到一个文件浏览器,其中显示了 ionics包。您可以通过单击 在目录(该目录中的所有横截面)或模块本身(所有横截面)上 在那个模块中)。横截面显示在文件浏览器下方的窗口中。 通过点击横截面,您可以获得有关它们的信息。

绘制横截面

要绘制特定横截面,请将其拖放到右侧的绘图画布上。 系统将提示您输入横断面的特定参数以及打印范围。 您还可以指定生成数据的比例(linear表示 均匀分布,log表示数据是指数分布的,因此它将均匀分布 使用对数刻度时分布)。

另外:

  • 可以通过将多个单微分横截面放置到同一画布上来堆叠它们。
  • 你可以通过点击右边的“添加”按钮来添加一个新的画布。
  • 可以改变对应图的底部各轴的刻度。

在您的应用程序中使用

该封装包含不同的电离截面以及相关的辅助功能。 (如随机抽样)。提供两种电离截面:

  • 单微分电离截面(SDC);见^{TT12}$。
  • 双微分电离截面(ddcs);见ionics.sdcs

横截面的必需参数必须在其__init__方法中指定。十字架 截面可由CA评估填充(通过__call__)(有关签名,请参阅 横截面之一)。SDC需要电离粒子的动能作为论据 而ddcs还需要极性散射角(另外)。

双微分截面可采用随机抽样。有两种通用方法 用于任何二维分布:

  • 逆变换采样
  • 拒绝抽样

有关详细信息,请考虑ionics.ddcs.random_sampling

示例

使用双微分横截面:

>>> from ionics.ddcs.voitkiv import VoitkivDDCS
>>> ddcs = VoitkivDDCS(4.0e12, 1, 'H')  # 4 TeV protons on Hydrogen.
>>> ddcs(10, pi/2)  # Kinetic energy 10eV, transverse scattering.
0.00043127346990368256

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用Selenium Java查找筛选器窗格“铅笔图标”的元素时出现问题   分布式缓存l2上使用infinispan和hibernate的java连接锁   使用Java的DOM XML API解析XML中的符号和   java是解析和操作字符串的有效方法   java发布NewRelicMeterRegistry时如何过滤仪表   多维数组在java中读取文件后将数据值分组   java如何将httpClient配置为jsoup   java BreakIterator在Android中是如何工作的?   找不到maven GAE类:原因:java。lang.ClassNotFoundException应用程序标识cRedential$AppenginecRedential包装   Jlabel调整java大小   调试如何在VScode中的java类依赖项中设置断点   java正在获取文件夹名,而不是。mp3文件{Android}   java如何将从DiffieHellman类生成的AES密钥添加到使用该密钥的类