当前位置: 首页 > news >正文

我在CSDN开组会1-蒙特卡洛模拟在矿床学的应用展望

各位老师、同学们,大家好。今天组会的内容是蒙特卡洛模拟在矿床学的应用展望。

为什么要讲蒙特卡洛模拟呢,因为我发现在地质学方面已经有不少应用,但是蒙特卡洛模拟延伸的知识太晦涩了,劝退了很多探究者们。因此,计划开展一场专题报告,如有不足之处,请批评指正。

1 蒙特卡洛的介绍

蒙特卡洛方法又称统计模拟法,是一种随机模拟方法,以概率和统计理论方法为基础的一种计算方法,是使用随机数(或更常见的伪随机数)来解决很多计算问题的⽅法。

image-20231117224505811

将所求解的问题同一定的概率模型相联系,用电子计算机实现统计模拟或抽样,以获得问题的近似解。为象征性地表明这一方法的概率统计特征,故借用赌城蒙特卡洛命名。

image-20231117224552841

蒙特卡洛方法最早在原子弹的研制中正式提出,而事实上,1777年,法国Buffon提出用投针实验的方法求圆周率,这被认为是蒙特卡洛方法的起源。

image-20231117224715781

通常来讲,蒙特卡洛模拟应当包括是三个方面,第一是建立数学模型,然后随机生成数据,最后进行统计和分析处理。详细描述如下:

  • 在蒙特卡洛模拟中,首先需要建立一个描述系统的数学模型,并明确所关注的属性或行为,例如材料的热力学性质、相变行为、输运性质等。

  • 然后,通过随机生成大量的模拟数据,这些数据是基于系统模型和特定的概率分布。

  • 最后,利用统计方法对这些数据进行分析和处理,从而得出关于系统的性质和行为的结果。

image-20231117224919781

蒙特卡洛在众多领域都有所应用,例如材料学、物理科学、生命科学以及计算机科学、金融工程等。


2 蒙特卡洛模拟的地质学应用

尽管蒙特卡洛模拟应用众多,但是在地质学领域仍没有做到普及。在此列举主要的几个研究方向。

2.1 动力学蒙特卡洛模拟

文献1 The effect of crystal size variation on the rate of dissolution – A kinetic Monte Carlo study (Briese et al., 2017,GCA

摘要:

晶体尺寸是许多地球化学过程的重要参数,并且经常被观察到对晶体溶解速率有显著影响。虽然尺寸与溶解度的关系通常用热力学术语(临界半径)来描述,但尺寸与溶解速率的机理基础并不详细。在这里,我们检验了尺寸对溶解速率的影响,以及这种关系与其他参数无关的机理。我们使用动力学蒙特卡罗模型方法观察了四个简单立方晶体(边缘尺寸d=25,64,125,187个晶胞)溶解过程中的原子变化。这些模拟保持了代表不饱和、远离平衡状态的恒定解边界条件。我们观察到表面积归一化溶解速率随着初始晶体尺寸的减小而非线性增加。这种关系可以从机理上理解,部分是扭结原子位和阶跃原子位形成的耦合。在这两个约束条件大致平衡的条件下,总溶解速率最大,质量去除最有效。这种关系反映了扭结原子和台阶原子形成的相互依赖性,它们的高分离频率对溶解过程起主导作用。

关键信息:

Fig. 1. Specific surface sites of a Kossel-type crystal that are characterized through their number of nearest neighbors or the number of bonds. Terrace atoms have 5 nearest neighbors, step atoms have 4, kink atoms have 3, and adatoms have only one.

针对晶体溶解速率的情况,需要先有公式:

image-20231117230528973

where kB and T are Boltzmann’s constant and absolute temperature, respectively. E represents the activation energy necessary for a transition from one state to another, and m is the so-called frequency factor.

在阿伦尼乌兹方程公式中,k表示着速率,k-表示着溶解速率,k+表示着吸附速率。kdif表示着表面扩散情况。好了 到此为止,不必深究。作者主要计算的是k-,并将k+设置为了无穷小。

接着作者假设了四种尺寸的晶体,并让他们先附着上4000个原子。

image-20231117230848910

image-20231117230859214

文献2 Reconstructing Earth’s atmospheric oxygenation history using machine learning*Chen et al., NC,2023

image-20231117231641788

在这里,我们提出了一个独立的策略——利用全球镁铁质火成岩地球化学大数据进行机器学习,以探索过去40亿年的大气情况。地球的含氧大气可能至少部分是地幔冷却的结果,特别是不断演变的地幔熔融过程帮助调节了早期地球大气的平衡。

作者首先手机了全球的镁铁质火成岩地球化学的数据,这个有对应的数据库,不是主要的问题。接着进行了主成分分析,因为元素很多所以进行降维,可以理解。

但是为什么和大气氧化事件联系起来了呢?因为作者发现镁铁质火成岩的数据分析结果和两期氧化事件能匹配上。所以有了后续的研究工作。

作者建立了质量变化的方程,其中重要的是ma质量方程。这个函数由SVR支持向量回归获得函数方程式。接着使用恶魔那个特卡了模拟得到结果。

image-20231117233517884

文献3

Compositional and thermal state of the lower mantle from joint 3D inversion with seismic tomography and mineral elasticity

Deng et al., 2023,PANS

在本研究中,我们采用马尔可夫链蒙特卡罗框架,根据地震层析成像和矿物弹性数据反演了下地幔的 3D 化学成分和热状态。

image-20231117233939557

文献4

Markov chain Monte Carlo inversion of mantle temperature and source composition, with application to Reykjanes Peninsula, Iceland

Brown et al., 2020, EPSL

为了克服这些局限性,我们提出了一种将马尔可夫 链蒙特卡罗(MCMC)采样方法与REEBOX PRO正向地幔融化模型相结合的逆方法。我们使用此工具来约束冰岛雷克雅尼斯半岛下方的地幔潜在温度,熔体体积以及地幔源岩性的微量元素和同位素组成。

image-20231117234745593

image-20231117234756663

image-20231117234803022

在这里 就需要提到马尔科夫链蒙特卡洛模拟了。

1、构建马尔科夫链

1.1 马尔科夫链初始化

(1)从先验概率分布q(m)中随机得到一组输入参数m**(但m数据必须有效)**。

(2)设定迭代变量t,将当前参数写为m**t**。

(3)因此这个根据观察值进行的结果拟合量化为似然函数[L(d, mt)]**。**

1.2模型参数限定

(1)设定一个新的模型参数mt‘,是对mt参数扰动的结果。

1.3模型参数判定

(1)计算接受率。R=(ρ(m(t^′,d)))/(ρ(m(t^ ,d)))

(2)从均匀分布中取随机数r与R比较,当r≤R时,将mt‘添加到马尔科夫链中。t值+1,若反之,则t不变(保持当前状态)。

1.4迭代

(1)重复进行参数限定和判定,指导达到规定迭代次数。


3 蒙特卡洛模拟的研究展望

1. 建立符合矿床学事实的数值模型,运用蒙特卡洛模拟获取分布特征

2. 使用马尔科夫链蒙特卡洛模拟,反演数值模型的基本参数概率分布

3. 使用动力学蒙特卡洛模拟,确定研究材料的宏观失效

4蒙特卡洛模拟实操展示

  • 1. 使用EXCEL*进行蒙特卡洛模拟

    用鼠标选中A列,在编辑栏,输入Rand函数:=RAND();并按【Ctrl+Enter】结束确认,即可生成一列随机小数;=ROUND(RAND(),2);让随机数,强制保留两位小数=RANDBETWEEN(最小整数,最大整数)

    生成服从正态分布的随机数Excel 函数格式“=NORMINV(probability,mean,standard_dev)”参数解释:Probability - 正态分布的概率值,取值范围(0,1)Mean - 算术平均值;Standard_dev - 标准差。

    =NORMINV(RAND(),0,1) 生成均值为0,标准差为1的正态分布随机数

  • 2. 使用*Python进行蒙特卡洛模拟

    1. random.random()random.random() 方法返回一个随机数,其在 0 至 1 的范围之内。以下是其具体用法:

    import random

    random.random()

    1. random.uniform()random.uniform(a , b) 是在指定范围内生成随机数,其有两个参数,一个是范围上限,一个是范围下限,顺序可交换

    import random

    random.uniform(2,6)

    1. random.randint()random.randint(a , b) 是随机生成指定范围内的整数,其有两个参数,一个是范围上限,一个是范围下限,顺序不可交换。

    import random

    random.randint(2,6)

  • 3. 使用*R*语言进行蒙特卡洛模拟

    sample(x, size, replace, prob)x 表示从x中选取随机数,x可以是一个向量(可以由一个元素或者多个元素组成)。size表示随机生成的随机数的个数,是一个非负的整数。replace表示抽取方式(replace = TRUE 表示可放回抽取,replace = FLASE表示不可放回抽取)。prob表示按照给定的概率抽取,由一个向量组成(默认prob = NULL)

    set.seed()函数设置随机种子,如果设置了随机种子每次的随机数是相同的。目的是方便以后他人进行测试。

    runif()函数:随机生成均匀分布的小数runif(n, min = 0, max = 1)n表示随机生成小数的个数。min = 0,max = 1,表示小数的范围在0-1之间。

rnorm()函数:生成服从正态分布的随机数rnorm(n, mean = 0, sd = 1)生成长度为n的向量,向量中的每一个值服从正态分布。

函数概率分布
rexp指数分布
rfF分布
rgammaGamma分布
rgeom几何分布
rhyper超几何分布
rlogisLogistic分布
rmultinom多项式分布
rpois泊松分布
rtt分布
rchisq卡方分布

相关文章:

我在CSDN开组会1-蒙特卡洛模拟在矿床学的应用展望

各位老师、同学们,大家好。今天组会的内容是蒙特卡洛模拟在矿床学的应用展望。 为什么要讲蒙特卡洛模拟呢,因为我发现在地质学方面已经有不少应用,但是蒙特卡洛模拟延伸的知识太晦涩了,劝退了很多探究者们。因此,计划…...

Jmeter 性能测试基础!

压力测试 压力测试分两种场景:一种是单场景,压一个接口的;第二种是混合场景,多个有关联的接口。压测时间,一般场景都运行10-15分钟。如果是疲劳测试,可以压一天或一周,根据实际情况来定。 压测任…...

【赠书第6期】MATLAB科学计算从入门到精通

文章目录 前言 1 安装与配置 2 变量定义 3 数据处理 4 绘图 5 算法设计 6 程序调试 7 推荐图书 8 粉丝福利 前言 MATLAB 是一种高级的科学计算和数据可视化平台。它由 MathWorks 公司开发,是科学研究、数据分析和工程实践中非常常用的一种软件工具。本文将…...

Java语言基础第五天

精华笔记: 循环结构: for结构:应用率最高,与次数相关的循环 三种结构如何选择: 先看循环是否与次数相关: 若相关-----------------------------直接上for 若无关,再看要素1与要素3的代码是否相…...

linux网络——HTTPS加密原理

目录 一.HTTPS概述 二.概念准备 三.为什么要加密 四.常⻅的加密⽅式 1.对称加密 2.⾮对称加密 五.数据摘要,数字签名 六.HTTPS的加密过程探究 1.方案一——只使用对称加密 2.方案二——只使⽤⾮对称加密 3.方案三——双⽅都使⽤⾮对称加密 4.方案四——⾮…...

shell 各种括号作用总结

技巧小结: 字符串比较用双中括号[[ ]] 算数比较用单中括号[ ]——左右留空格 算数运算用双小括号(( )) shell命令及输出用小括号( )——左右不留空格 快速替换用花括号{ }——左右留空格 反单引号起着命令替换的作用 一、单括号(): 1、另开命令组——小…...

2023-11-18 mysql-sysbench压测TPS/QPS-记录

摘要: 2023-11-18 mysql-sysbench压测TPS/QPS sysbench压测TPS/QPS 使用 sysbench 压测 TPS/QPS 的基础测试数据是 6 张表,每张表写入 10 万行数据,然后在此基础测试数据上分别进行 300 秒的混合写、更新、删除压测。 sysbench --mysql-host=192.168.41.xxx --mysql-port=3…...

树与二叉树堆:树

目录 树: 树的概念: 树的相关概念: 1、结点的度: 2、叶节点:度为0的节点 3、非终端节点或分支节点: 4、父节点和子节点: 5、兄弟节点: 6、树的度: 7、树的层次或…...

【监控系统】日志可视化监控体系ELK搭建

1.ELK架构是什么 ELK是ElasticsearchLogstashKibana的简称。 Elasticsearch是一个开源的分布式搜索和分析引擎,可以用于全文检索、结构化检索和分析,它构建在Lucene搜索引擎库之上,是当前使用较为广泛的开源搜索引擎之一。 Logstash是一个…...

【Linux】22、CPU 评价指标、性能工具、定位瓶颈、优化方法论:应用程序和系统

文章目录 一、评价 CPU 的指标1.1 CPU 使用率1.2 平均负载(Load Average)1.3 上下文切换1.4 CPU 缓存命中率 二、性能工具2.1 维度:从 CPU 性能指标出发,即当你查看某性能指标时,要清除知道哪些工具可以做到2.2 维度&a…...

Foodpanda API连接的艺术:无代码开发如何集成营销系统和广告推广工具

连接Foodpanda和电商平台的无代码开发 Foodpanda不仅是一家提供快速外卖服务的国际品牌,而且其创新的技术解决方案还能帮助电商企业优化系统运营。通过无代码开发的方法,即使没有专业的API开发知识,商家也能实现高效的电商系统和客服系统连接…...

SpringBoot——数据访问

优质博文:IT-BLOG-CN 对于数据访问层,无论是SQL还是NoSQL,SpringBoot默认采用整合Spring Data的方式进行统一处理,添加大量自动配置,屏蔽了很多设置。引入各种xxxTemplate,xxxRepository来简化我们对数据访…...

【C++深度剖析学习总结】28 函数对象分析

1.客户需求 编写一个函数,满足三个需求 函数可以获得斐波那契数列每项的值 每调用一次返回一个值 函数可根据需要重复使用 for(int i =0; i<10; i++) { cout << fib() << endl; } 第一个解决方案 #include<iostream> #include<string> using na…...

持续集成部署-k8s-配置与存储-配置管理:SubPath

持续集成部署-k8s-配置与存储-配置管理:SubPath 1. 简介2. 测试 挂载文件目录3. subPath 解决挂载目录时覆盖原容器内文件夹1. 简介 在Kubernetes (K8s) 中,SubPath是用于指定容器内部目录挂载的一个属性。它可以在Pod中指定某个Volume挂载到容器内部的特定目录下,以便容器…...

git容易出问题的命令

#首先进行git init初始化本地仓库 git init #再进行拉取远程仓库代码 git clone http://以上这种情况建立在第一次拉取仓库的操作 如果你已经拉取过仓库要进行关联的话&#xff0c;就使用这种方法 #关联远程仓库 git remote add origin https:// # 拉取代码 git pull origin/…...

Mongodb命名和文档限制

选用mongodb时&#xff0c;需要了解与mongodb数据大小&#xff0c;命名上的限制。针对这些限制&#xff0c;本文针对这些限制进行翻译整理。 BSON文档 mongodb中的数据记录&#xff0c;按照文档的形式保存。文档保存在一种类似于JSON的BSON结构中。Mongodb对BSON做了一些限制…...

pyQt主界面与子界面切换简易框架

本篇来介绍使用python中是Qt功能包&#xff0c;设置一个简易的多界面切换框架&#xff0c;实现主界面和多个子界面直接的切换显示。 1 主界面 设计的Demo主界面如下&#xff0c;主界面上有两个按钮图标&#xff0c;点击即可切换到对应的功能界面中&#xff0c;进入子界面后&a…...

​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​

软考-高级-系统架构设计师教程&#xff08;清华第2版&#xff09;【第12章 信息系统架构设计理论与实践&#xff08;P420~465&#xff09;-思维导图】 课本里章节里所有蓝色字体的思维导图...

【左程云算法全讲11】贪心算法 并查集

系列综述&#xff1a; &#x1f49e;目的&#xff1a;本系列是个人整理为了秋招面试的&#xff0c;整理期间苛求每个知识点&#xff0c;平衡理解简易度与深入程度。 &#x1f970;来源&#xff1a;材料主要源于左程云算法课程进行的&#xff0c;每个知识点的修正和深入主要参考…...

CSS中4种关系选择器

元素(标签)之间的关系 父元素&#xff1a;直接包含子元素的元素 子元素&#xff1a;直接被父元素包含的元素 祖先元素&#xff1a;直接或间接包含后代元素的元素&#xff0c;父元素也是祖先元素 后代元素&#xff1a;直接或间接被祖先元素包含的元素&#xff0c;子元素也是后代…...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中&#xff0c;结构体可以嵌套使用&#xff0c;形成更复杂的数据结构。例如&#xff0c;可以通过嵌套结构体描述多层级数据关系&#xff1a; struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话&#xff1a; “利润不是赚出来的&#xff0c;是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业&#xff0c;很多企业看着销售不错&#xff0c;账上却没钱、利润也不见了&#xff0c;一翻库存才发现&#xff1a; 一堆卖不动的旧货…...

【JavaSE】绘图与事件入门学习笔记

-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角&#xff0c;以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向&#xff0c;距离坐标原点x个像素;第二个是y坐标&#xff0c;表示当前位置为垂直方向&#xff0c;距离坐标原点y个像素。 坐标体系-像素 …...

uniapp中使用aixos 报错

问题&#xff1a; 在uniapp中使用aixos&#xff0c;运行后报如下错误&#xff1a; AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件&#xff0c;这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下&#xff0c;实现高效测试与快速迭代&#xff1f;这一命题正考验着…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录&#xff0c;不允许匿名访问&#xff0c;kefu只能访问/data/kefu目录&#xff0c;不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

Java毕业设计:WML信息查询与后端信息发布系统开发

JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发&#xff0c;实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构&#xff0c;服务器端使用Java Servlet处理请求&#xff0c;数据库采用MySQL存储信息&#xff0…...

虚拟电厂发展三大趋势:市场化、技术主导、车网互联

市场化&#xff1a;从政策驱动到多元盈利 政策全面赋能 2025年4月&#xff0c;国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》&#xff0c;首次明确虚拟电厂为“独立市场主体”&#xff0c;提出硬性目标&#xff1a;2027年全国调节能力≥2000万千瓦&#xff0…...