MC模拟简介

蒙特卡罗模拟,因摩纳哥著名的赌场而得名。它能够帮助人们从数学上表述物理、化学、工程、经济学以及环境动力学中一些非常复杂的相互作用。

  • 蒙特卡罗(Monte Carlo)方法,又称随机抽样或统计试验方法,属于计算数学的一个分支,它是在上世纪四十年代中期为了适应当时原子能事业的发展而发展起来的。传统的经验方法由于不能逼近真实的物理过程,很难得到满意的结果,而蒙特卡罗方法由于能够真实地模拟实际物理过程,故解决问题与实际非常符合,可以得到很圆满的结果。

  • 基本原理及思想

当所要求解的问题是某种事件出现的概率,或者是某个随机变量的期望值时,它们可以通过某种“试验”的方法,得到这种事件出现的频率,或者这个随机变数的平均值,并用它们作为问题的解。这就是蒙特卡罗方法的基本思想。蒙特卡罗方法通过抓住事物运动的几何数量和几何特征,利用数学方法来加以模拟,即进行一种数字模拟实验。它是以一个概率模型为基础,按照这个模型所描绘的过程,通过模拟实验的结果,作为问题的近似解。可以把蒙特卡罗解题归结为三个主要步骤:构造或描述概率过程;实现从已知概率分布抽样;建立各种估计量。


MC资源

1. GENIE Neutrino Monte Carlo,用于中微子模拟

GENIE is a suite of products (Generator, Comparisons, Tuning) for the experimental neutrino community.
It is supported and developed by an international collaboration of scientists. The well-known Generator implements a modern framework for neutrino Monte Carlos and includes state-of-the-art physics modules. The GENIE physics model is universal and comprehensive: It handles all neutrinos and targets, and all processes relevant from MeV to PeV energy scales. The Generator includes several tools (flux drivers, detector geometry navigators, specialized event generation apps, event reweighting engines) to simulate complex experimental setups in full detail and to support generator-related analysis tasks. The GENIE Generator is used by several neutrino experiments and its predictions serve as standard reference points for the neutrino community. The Comparisons product includes extensive curated archives of neutrino, charged-lepton and hadron-nucleus scattering data, as well as software to produce a comprehensive set of data/MC comparisons. Finally, the Tuning product implements a generator tuning framework and includes applications implementing the GENIE tuning procedure.

网址为点这里

2. RAT (is an Analysis Tool), Public Edition

RAT is a simulation and analysis package built with GEANT4, ROOT, and C++, originally developed by S. Seibert for the Braidwood Collaboration. Versions of RAT are now being used and developed by several particle physics experiments.

RAT combines simulation and analysis into a single framework, which allows analysis code to trivially access the same detector geometry and physics parameters used in the detailed simulation.

RAT follows the "AMARA" principle: As Microphysical as Reasonably Achievable. Each and every photon is tracked through an arbitrarily detailed detector geometry, using standard GEANT4 or custom physics processes. PMTs are fully modeled, and detected photons may be propagated to a simulation of front-end electronics and DAQ.

This generic version is intended as a starting point for collaborations looking for an easy-to-learn, extensible detector simulation and analysis package that works out of the box. Once acquainted with RAT, it is easy to customize the geometry elements, physics details, data structure, analysis tools, etc., to suit your experiment's needs.

github链接手册类网址

3. gemc(GEant4 Monte-Carlo)

3.1 Why gemc?

geant4 is a c++ framework to simulate the passage of particles through matter.

GEMC aims at making available all the powerful geant4 features w/o any prior knowledge of c++ or geant4. It provides:

  • application independent geometry description
  • easy interface to build / run experiments
  • cad/gdml imports

3.2 Overview

gemc makes easy things trivial and hard things possible.

Users can build or import from cad complex setups with minimal programming knowledge. See for example how to build a TOF with few lines of code or how to import TOF from cad.

Experiments can be loaded using a combination of these factories:

  • MYSQL
  • TEXT
  • GDML
  • CAD (STL, PLY, OBJ formats)
  • C++ Plugin

3.3 Simulations are application independent

Once the user defined setup is loaded, gemc translates it in geant4. This includes:

  • geometry
  • materials
  • mirrors
  • physics list
  • digitization
  • electromagnetic fields

All particles are transported through matters and produce radiation, hits, secondaries. gemc then collects the geant4 results and produce the output specified by the user.

3.4 Open source

gemc is free and open source.

Please visit the contributing to gemc page if you’re interested in the code development.

If you have any bug/code optimization to report, new ideas, features request, please open a code issue / feature request in github.

github网址官方网站

MC资源整理的更多相关文章

  1. 移动web资源整理

    [原]移动web资源整理 2013年初接触移动端,简单做下总结,首先了解下移动web带来的问题 设备更新换代快--低端机遗留下问题.高端机带来新挑战 浏览器厂商不统一--兼容问题多 网络更复杂--弱网 ...

  2. 个人Web工具箱&资源整理(1)

    很久就想把使用的工具及收藏的资源整理一番:一是为了传达博客社区的理念:资源共享,而是方便自己及团队快速获取. 学习资源: 首推两个入门级在线参考网站. 1 w3c school. 2 Runoob.c ...

  3. React入门资源整理

    另外,附上我搜集的一些比较实用的学习资料,建议先看这些撸起来,再看什么乱七八糟的awsome系列. React入门资源整理 React项目新手指南 http://www.w3ctech.com/top ...

  4. Markdown使用简介 及 学习资源整理

    Markdown资源整理 官网 http://daringfireball.net/projects/markdown/ http://jgm.github.io/stmd/spec.html htt ...

  5. 超全PHP学习资源整理:入门到进阶系列

    PHP是少数几门在语言层面饱受诟病,但在实际开发和应用上却又让人无法撒手的语言之一.就好比路边摊小吃,一遍骂人家不卫生,一遍却又说:真香.所谓接地气,不外如此,大道理不说,PHP光是轮子多.市场占有率 ...

  6. 第二弹:超全Python学习资源整理(进阶系列)

    造一个草原要一株三叶草加一只蜜蜂.一株三叶草,一只蜂,再加一个梦.要是蜜蜂少,光靠梦也行. - 狄金森 "成为编程大牛要一门好语言加一点点天分.一门好语言,一点点天分,再加一份坚持.要是天分 ...

  7. Git 初学者使用指南及Git 资源整理

    Git 资源整理 Git is a free and open source distributed version control system designed to handle everyth ...

  8. WPF学习资源整理

    WPF(WindowsPresentation Foundation)是微软推出的基于Windows Vista的用户界面框架,属于.NET Framework 3.0的一部分.它提供了统一的编程模型 ...

  9. 【Java Web】入门资源整理

    [网站] 1.Java Web Application Tutorial for Beginners - JournalDev Google top1 除Java Web还有很多其他教程 2.Intr ...

随机推荐

  1. linux 执行shell脚本的4种方法总结

    bash shell 脚本的方法有多种,假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在的目录(此时, ...

  2. iOS 时间转换

    #pragma mark - 获取当前时间戳 -(NSString *)getTimeSp{ NSDate* dat = [NSDate dateWithTimeIntervalSinceNow:]; ...

  3. Java应用调试利器——BTrace教程

    http://www.jianshu.com/p/26f19095d396 背景 生产环境中可能出现各种问题,但是这些问题又不是程序error导致的,可能是逻辑性错误,这时候需要获取程序运行时的数据信 ...

  4. git设置免密码登录

    设置用户名和邮箱 git config --global user.name "<username>" git config --global user.email & ...

  5. 【HDU】2222 Keywords Search

    [算法]AC自动机 [题解]本题注意题意是多少关键字能匹配而不是能匹配多少次,以及可能有重复单词. 询问时AC自动机与KMP最大的区别是因为建立了trie,所以对于目标串T与自动机串是否匹配只需要直接 ...

  6. POJ 2456 Aggressive cows ( 二分搜索)

    题目链接 Description Farmer John has built a new long barn, with N (2 <= N <= 100,000) stalls. The ...

  7. Ribbon自带负载均衡策略比较

    Ribbon自带负载均衡策略比较 策略名 策略声明 策略描述 实现说明 BestAvailableRule public class BestAvailableRule extends ClientC ...

  8. HTTP和HTTPS详解。

    一,HTTP和HTTPS基本概念 深入学习某个东西时,我们先来从维基百科上看看它俩的概念. HTTP:超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一 ...

  9. c语言中的size_t

    size_t unsigned int 类型,无符号,它的取值没有负数.用来表示 参数/数组元素个数,sizeof 返回值,或 str相关函数返回的 size 或 长度.sizeof 操作符的结果类型 ...

  10. Java21个基础知识点

    类装载器就是寻找类的字节码文件,并构造出类在JVM内部表示的对象组件.在Java中,类装载器把一个类装入JVM中,要经过以下步骤: (1) 装载:查找和导入Class文件: (2) 链接:把类的二进制 ...