24小时热门版块排行榜    

Znn3bq.jpeg
查看: 1502  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

虫子218

银虫 (正式写手)

[交流] 【求助】帮忙蒙特卡罗原理

一、材料体系中蒙特卡罗模拟中采用重要性抽样的必要性,并具体介绍一种实现服从波尔茨曼分布的重要性抽样的方法和步骤
二、用分子动力学的观点和方法分析固体表面能的本质
三、用分子动力学的观点和方法分析:晶体熔化为何除保持一定温度外,还需要提供一定热量?请分析所需热量与熔点的关系。
大家帮帮忙,回答一题,或是给点提示也好的,谢谢诶
回复此楼

» 收录本帖的淘帖专辑推荐

仿真建模与计算 程序语言箱

» 猜你喜欢

» 本主题相关商家推荐: (我也要在这里推广)

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)

★ ★ ★ ★
ghcacj(金币+4):谢谢 2010-09-10 18:33:25
虫子218(金币+2):谢谢你了 2010-09-12 19:17:16
引用回帖:
Originally posted by 虫子218 at 2010-09-10 18:20:38:
一、材料体系中蒙特卡罗模拟中采用重要性抽样的必要性,并具体介绍一种实现服从波尔茨曼分布的重要性抽样的方法和步骤
二、用分子动力学的观点和方法分析固体表面能的本质
三、用分子动力学的观点和方法分析:晶 ...

1.metrpolis抽样规则算不算呢?
2.固体表面能,应该是MD计算出的小分子与表面结合后的能量与原来两者分离前的能量之差?
3.热量应该是使用能量,加速分子运动,挣脱分子与分子之间的晶体结合能垒?
回答的不一定对,请各位批评指正。
好好学习,天天向上。
3楼2010-09-10 18:28:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

zyj8119

木虫 (著名写手)

引用回帖:
Originally posted by 虫子218 at 2010-09-10 18:20:38:
一、材料体系中蒙特卡罗模拟中采用重要性抽样的必要性,并具体介绍一种实现服从波尔茨曼分布的重要性抽样的方法和步骤
二、用分子动力学的观点和方法分析固体表面能的本质
三、用分子动力学的观点和方法分析:晶 ...

你做过晶粒生长的mote carlo模拟吗?(matlab)
你看看这段程序错在哪里?
CODE:
%初始赋值
Ln=200;        %格点边长
L=zeros(Ln);   %格点矩阵
Q=120;         %总取向数
step_num=500;  %MC总步数
interval_save_jpg=20;         %图形存储间隔
interval_stastics=2;          %晶粒平均参数和相对密度统计间隔
stastics_data=zeros(step_num/interval_stastics,5);           %存储每interval_stastics次MCS后的平均晶粒尺寸和相对密度,存储格式为(MCS,grain count,average area,average diameter,relative density)


%烧结模拟过程参数赋值
T=1;    %温度参数
J1=1;   %晶界能


%初始结构的格点赋值
rand_l=randperm(Ln^2);
for i=1:Ln^2*V_pore
    if rem(rand_l(i),Ln)==0
        x=Ln;
        y=fix(rand_l(i)/Ln);
      else
        x=rem(rand_l(i),Ln);
        y=fix(rand_l(i)/Ln)+1;
    end
    L(x,y)=-1;  %标识孔洞区域
end
for i=(Ln^2*V_pore+1):Ln^2
    if rem(rand_l(i),Ln)==0
        x=Ln;
        y=fix(rand_l(i)/Ln);
      else
        x=rem(rand_l(i),Ln);
        y=fix(rand_l(i)/Ln)+1;
    end
    rand_Q=randperm(Q);
    L(x,y)=rand_Q(1);  %标识晶粒区域
end

temp_L=zeros(Ln+2);    %标识边界区域标示为0,便于后续处理
temp_L(2:Ln+1,2:Ln+1)=L;
L=temp_L;
Ln=Ln+2;               %此时L边长Ln=Ln+2

s=[-1 -1
   -1  0
   -1  1
    0 -1
    0  1
    1 -1
    1  0
    1  1];     %便于随即选取所选格点周围相邻的一个格点


%开始CAS模拟
for step=1:step_num
   
    step   %显示MCS进程
   
    rand_l=randperm(Ln^2);
   
    for i=1:Ln^2    %随机选取格点
        
        %if rem(i,1000)==0  %显示选取格点进程
        %    i
        %end
        
        if rem(rand_l(i),Ln)==0   %把rand_l(i)转换成实际坐标L(x,y)
            x=Ln;
            y=fix(rand_l(i)/Ln);
          else
            x=rem(rand_l(i),Ln);
            y=fix(rand_l(i)/Ln)+1;
        end
        
        if L(x,y)~=0  %如果格点不在边界区域则开始模拟
            
            %---------------------如果选取点为晶粒格点---------------------
            if L(x,y)~=-1  %如果选取点为晶粒格点
               
                ss=s+[x y; x y; x y; x y; x y; x y; x y; x y];      %存储所选晶粒格点L(x,y)周围格点坐标
               
                diff_grain_count=0;      %计数所选晶粒格点L(x,y)周围与之不同的晶粒格点数
                same_grain_count=0;      %计数所选晶粒格点L(x,y)周围与之相同的晶粒格点数
                diff_ss=zeros(8,3);      %存储所选晶粒格点L(x,y)周围与之不同的晶粒格点坐标及其取向度值
                for ii=1:8
                    if L(ss(ii,1), ss(ii,2))~=0
                        if L(ss(ii,1), ss(ii,2))~=L(x,y) & L(ss(ii,1), ss(ii,2))~=-1
                            diff_grain_count=diff_grain_count+1;
                            diff_ss(diff_grain_count,1)=ss(ii,1);
                            diff_ss(diff_grain_count,2)=ss(ii,2);
                            diff_ss(diff_grain_count,3)=L(ss(ii,1),ss(ii,2));
                        end
                        if L(ss(ii,1), ss(ii,2))==L(x,y)
                            same_grain_count=same_grain_count+1;
                        end
                        if L(ss(ii,1), ss(ii,2))==-1
                            pore_count=pore_count+1;
                        end
                    end
                end
                total_grain_count=diff_grain_count+same_grain_count;
               
                if diff_grain_count~=0  %如果所选晶粒格点L(x,y)周围有与之不同的晶粒格点
                    
                    BG_energy=J1*diff_grain_count;    %BG_energy为格点所处晶界能
                    
                    diff_ss_1=diff_ss(1:diff_grain_count,3);      %diff_ss_1存储被选格点周围取向度值与之不同的格点取向度值
                    diff_ss_2=unique(diff_ss_1);                  %去除diff_ss_1中的重复元素,并存储到diff_ss_2
                    rand_ll=randperm(length(diff_ss_2));
                    temp_Q=diff_ss_2(rand_ll(1));
                    change_BG_energy=J1*(total_grain_count-length(find(diff_ss_1==temp_Q)));
                    
                    if change_BG_energy<=BG_energy
                        L(x,y)=temp_Q;
                    end
                    
                    if change_BG_energy>BG_energy
                        set_probability=rand();
                        if exp(-(change_BG_energy-BG_energy)/T)>=set_probability
                            L(x,y)=temp_Q;
                        end
                    end
                    
                end  %对应于如果所选晶粒格点L(x,y)周围有与之不同的晶粒格点
               
            end  %对应于如果选取点为晶粒格点
            %---------------------如果选取点为晶粒格点---------------------
            
        end  %对应于如果格点不在边界区域则开始模拟
        
    end    %对应于随机选取格点
   
    %========================================================后处理过程========================================================
   
    %后处理1开始---------------每interval_save_jpg次MCS后存储图形矩阵---------------%
    if rem(step,interval_save_jpg)==0
        figure1=figure('visible','off','PaperPosition',[3.067 9.28 14.81 11.1],'PaperSize',[20.98 29.68]);
        axes1 = axes('Layer','top','YDir','reverse','Parent',figure1);
        axis(axes1,[0.5 Ln-2+0.5 0.5 Ln-2+0.5]);
        image1 = image('CData',L(2:Ln-2+1,2:Ln-2+1),'CDataMapping','scaled','XData',[1 Ln],'YData',[1 Ln],'Parent',axes1);
        if V_pore==0
            jpg_name=strcat(num2str(step),'_','Ln=',num2str(Ln-2),'_','Q=',num2str(Q),'_','T=',num2str(T),'_','J1=',num2str(J1),'.jpg');
         else
            jpg_name=strcat(num2str(step),'_','Ln=',num2str(Ln-2),'_','Q=',num2str(Q),'_','Vpore=',num2str(V_pore),'_','T=',num2str(T),'_','J1=',num2str(J1),'_','J2=',num2str(J2),'.jpg');
        end
        saveas(image1,jpg_name,'jpg');
    end
    %后处理1结束---------------每interval_save_jpg次MCS后存储图形矩阵---------------%
   
   
    %后处理2开始---------------每interval_stastics次MCS后统计平均晶粒尺寸,并存入stastics_data中---------------%
    if rem(step,interval_stastics)==0
        
        stastics_data(step/interval_stastics,1)=step;       %存储此次step
        
        temp_L=L(2:Ln-1,2:Ln-1);      %去掉标示为0的边界
        Q_exist=unique(temp_L);       %Q_exist存储L矩阵中仍存在的晶粒取向度Q
        if Q_exist(1)==-1
            Q_exist=Q_exist(2:length(Q_exist));
        end
        Q_length=length(Q_exist);     %Q_length为L矩阵中仍存在的晶粒取向度个数(不包括孔洞)
        
        for qq=1:Q_length             %只统计具有在L矩阵中仍存在的取向度的晶粒的个数
            temp_L=L;
            temp_L(temp_L~=Q_exist(qq))=0;
            temp_L=bwlabel(temp_L,8);
            now_grainnum=max(max(temp_L));       %返回目前取向度为Q_exist(qq)的晶粒数目
            stastics_data(step/interval_stastics,2)=stastics_data(step/interval_stastics,2)+now_grainnum;       %累加晶粒个数
        end
        
        stastics_data(step/interval_stastics,3)=(Ln-2)^2*(1-V_pore)/stastics_data(step/interval_stastics,2);       %统计晶粒平均面积
        
        stastics_data(step/interval_stastics,4)=sqrt(stastics_data(step/interval_stastics,3));                     %统计晶粒平均直径
         
    end
    %后处理2结束---------------每interval_stastics次MCS后统计平均晶粒尺寸,并存入stastics_data中---------------%
   
   
    %========================================================后处理过程========================================================
   
end
%结束MCS模拟


%写入文件
if V_pore==0
    xls_name1=strcat('stastics_Ln=',num2str(Ln-2),'_','Q=',num2str(Q),'_','T=',num2str(T),'_','J1=',num2str(J1),'.xls');
    xls_name2=strcat('grainsize_Ln=',num2str(Ln-2),'_','Q=',num2str(Q),'_','T=',num2str(T),'_','J1=',num2str(J1),'.mat');
else
    xls_name1=strcat('stastics_Ln=',num2str(Ln-2),'_','Q=',num2str(Q),'_','Vpore=',num2str(V_pore),'_','T=',num2str(T),'_','J1=',num2str(J1),'_','J2=',num2str(J2),'.xls');
    xls_name2=strcat('grainsize_Ln=',num2str(Ln-2),'_','Q=',num2str(Q),'_','Vpore=',num2str(V_pore),'_','T=',num2str(T),'_','J1=',num2str(J1),'_','J2=',num2str(J2),'.mat');
end
xlswrite(xls_name1,stastics_data);
save(xls_name2,'stastics_grainsize');

[ Last edited by zyj8119 on 2010-9-10 at 18:24 ]
好好学习,天天向上。
2楼2010-09-10 18:23:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huai

木虫 (职业作家)

★ ★ ★
lei0736(金币+3):谢谢 2010-09-12 18:22:22
虫子218(金币+1):bucuo 2010-09-12 19:16:55
1.重要性抽样与简单抽样相比,本质是降低抽样的方差,即提高了计算到效率。
3.材料到了熔点以后,还需要提供热量,是因为熔化需要潜热。
4楼2010-09-12 10:11:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jing06307

新虫 (初入文坛)


小木虫(金币+0.5):给个红包,谢谢回帖
楼主~您好~我也是做蒙特卡洛模拟晶粒生长的~可否交流一下啊~~
5楼2012-02-10 14:58:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 305求调剂 +4 77Qi 2026-04-07 4/200 2026-04-09 17:27 by wp06
[考研] 085500求调剂材料 +4 易11122 2026-04-09 4/200 2026-04-09 17:16 by 1753564080
[考研] 314求调剂 +20 wakeluofu 2026-04-09 21/1050 2026-04-09 16:14 by zhuimr
[考研] 调剂 +3 青灯不负 2026-04-09 3/150 2026-04-09 15:28 by 释放天性
[考研] 334求调剂 +16 Riot2025 2026-04-08 17/850 2026-04-09 09:28 by wdyheheeh
[考研] 二次调剂求老师收留 +3 笑笑袁 2026-04-08 3/150 2026-04-08 23:50 by 醉在风里
[考研] 331求调剂 +5 luoxin0706. 2026-04-08 5/250 2026-04-08 22:15 by zhouyuwinner
[考研] 296求调剂 +3 汪!?! 2026-04-08 3/150 2026-04-08 22:00 by zhouyuwinner
[考研] 一志愿华东理工085601材料工程303分求调剂 +15 a1708 2026-04-06 15/750 2026-04-08 16:23 by luoyongfeng
[考研] 求调剂 +9 月@163.com 2026-04-07 11/550 2026-04-08 14:48 by qlm5820
[考研] 326分,一志愿沪9,求生物学调剂 +4 刘墨墨 2026-04-05 4/200 2026-04-08 06:22 by lijunpoly
[考研] 求调剂 +11 wwwwabcde 2026-04-07 11/550 2026-04-07 23:16 by JourneyLucky
[考研] 081700,311,求调剂 +17 冬十三 2026-04-04 18/900 2026-04-07 12:50 by Sammy2
[考研] 085100建筑学 寻求跨专业调剂 一志愿南大294分 校级省级国家级奖项若干 踏实肯干 +3 1021075758 2026-04-06 4/200 2026-04-07 09:23 by 蓝云思雨
[考研] 机械专硕274求调剂,不挑专业学校 +6 泛泛2333 2026-04-05 8/400 2026-04-06 18:06 by 泛泛2333
[考研] 344材料与化工调剂 +9 调剂上岸玘 2026-04-03 9/450 2026-04-04 23:10 by happyddm
[考研] 一志愿沪9,求生物学调剂,326分 +6 刘墨墨 2026-04-04 6/300 2026-04-04 19:44 by 唐沐儿
[考研] 求调剂 +3 ffyyu 2026-04-02 3/150 2026-04-04 19:03 by 蓝云思雨
[考研] 285求调剂 +5 AZMK 2026-04-03 8/400 2026-04-03 18:17 by AZMK
[硕博家园] 求老师收留 +9 lllq123 2026-04-03 9/450 2026-04-03 13:48 by 呼吸都是减肥
信息提示
请填处理意见