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

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第三方库


热门话题
java在EclipseIndigo上安装新的Glassfish服务器   java打印组织的最短方法是什么。w3c。多姆。文件发送到stdout?   安卓 java。lang.NullPointerException:尝试在oncreate方法中的null对象引用上调用virtual方法   linux java,我的线程无一例外地终止了,为什么?   JSON和Lombok构造函数的java问题Jackson反序列化   Spring引导升级后,java无法实例化自定义库的数据源   输入Kotlin中Java Scanner的等价物是什么?   列表vs数组作为java中递归的参数   创建名为“FilterService”的bean时发生java错误:通过字段“filterDAO”表示的未满足的依赖关系   如何在Java(基本上是Android)中将指纹图像的字节数组转换为iso 19794_2?   java如何使用基本适配器单击每个位置   java如何更新数据库显示消息“您的数据库已更新,没有任何错误,但实际上我的数据库未更新”   不同比例的安卓屏幕设备的java程序   java Android For循环,全局静态列表与本地列表