DiPAS是一个可微模拟粒子加速器的框架。

DiPAS的Python项目详细描述


https://gitlab.com/Dominik1123/dipas/badges/develop/pipeline.svghttps://gitlab.com/Dominik1123/dipas/badges/develop/coverage.svghttps://img.shields.io/pypi/v/dipas.svg

迪帕斯

DiPAS是一个可微模拟粒子加速器的程序。它作为一个框架,因此 支持广泛的用例,如粒子跟踪或光学计算,如关闭 轨道搜索或Twiss参数的计算。在

{a4}支持的计算也与^相关 用于区分用户定义的数量以及各种基于梯度的优化器的功能 用由此导出的量。在

DiPAS包可以解析MADX晶格定义,因此允许零开销导入现有晶格。 此外,它还支持来自提供的元素类的自定义晶格定义。在

示例用法

通过调谐四极杆使光束线损耗最小化:

importnumpyfromdipas.buildimportfrom_filefromdipas.elementsimportQuadrupoleimporttorchlattice=from_file('example.madx')forquadinlattice[Quadrupole]:quad.k1=torch.nn.Parameter(quad.k1)optimizer=torch.optim.Adam(lattice.parameters(),lr=1e-3)particles=torch.from_numpy(numpy.load('particles.npy'))whileTrue:tracked,loss_val=lattice.linear(particles,recloss='sum')lost=1-tracked.shape[1]/particles.shape[1]iflost<0.01:# Fraction of particles lost less than 1%.breakoptimizer.zero_grad()loss_val.backward()optimizer.step()

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

推荐PyPI第三方库


热门话题
面向批处理的java非阻塞队列   java如何基于HttpComponent获取html内容   java为什么我的程序会显示此错误?   java spring控制器如何处理应用程序/octetstream请求?   尝试将数据插入数据库时出现java常规错误   无法在java多线程处理中维护生产者任务的顺序   java为什么JSON数据无法访问ViewPager?   java获取Maven中特定分支的SVN buildnumber   java客户端无法从服务器接收信息   java等轴测地图绘制,生成   java无法调试ProcessBuilder   java热点JVM阵列分配   在数组中存储“inputdialog”数据的java   saml Java Inflater引发DataFormatException“无效代码长度集”   从集合(爬虫、Jsoup、Java)写入文件