Ising模型的相变问题,求出临界温度T,比热C及磁化率χ.doc

Ising模型的相变问题,求出临界温度T,比热C及磁化率χ.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Ising模型的相变问题,求出临界温度T,比热C及磁化率χ.doc

[原创]用Monte-Carlo方法研究二维Ising模型的相变问题,求出临界温度T,比热C及磁化率χ 图片: 图片: /************************************************************************************** *程序用途:用Monte-Carlo方法研究二维Ising模型的相变问题,求出临界温度T,比热C及磁化率χ *编译环境:Visual C++ 6.0 *作??? 者:lxg? *单??? 位: *完成时间:2005年12月28日 **************************************************************************************/ #include stdio.h #include stdlib.h #include time.h #include math.h #define L 150???????????????????????? /*L×L个格点????????????????????????? */ #define preN?? 100000???????????????? /*舍弃前preN个E,M值????????????????? */ #define lateN 5100000???????????????? /*总共计算lateN个E,M值?????????????? */ #define deltaN (lateN-preN)?????????? /*Monte-Carlo方法抽样E,M个数???????? */ double recordEnergy[deltaN];????????? /*存储抽样能量值????????????????????? */ int recordMagnet[deltaN];???????????? /*存储抽样磁矩量????????????????????? */ int lattice[L][L];??????????????????? /*格点,存储格点状态????????????????? */ int temp[L][L];?????????????????????? /*保留初始化格点状态????????????????? */ double energy;??????????????????????? /*记录初试化及试探后系统能量,磁矩??? */ int magnet;?????????????????????????? /*并赋给recordEnergy和recordMagnet??? */ double T;???????????????????????????? /*温度??????????????????????????????? */ struct CX???????????????????????????? /*比热C和磁化率χ???????????????????? */ { ??? double C; ??? double X; }; /**************************************************************************** *函数原型 *****************************************************************************/ void InitialLattice(); void SaveInitial(); void GetInitial(); void CaculateFirstMagnet(); void CaculateFirstEnergy(); void GenerateNext(); struct CX Caculate_C_and_X(); /**************************************************************************** *主函数 *****************************************************************************/ int main() { ?int i; ??? struct CX cx[200]; ??? FILE *ft,*fx,*fc; ?ft=fopen(T.txt,w); ?fx=fopen(X.txt,w); ?fc=fopen(C.txt,w); ??? srand(time(NULL)); ? ?T = 1.0; ?for(i=0;T4.0;i++) ?{ ??In

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档