目录

0.概述

1.MS input设置

2.perl脚本配置

3.reference


最近在研究交联聚合物,但是目前似乎并没有一个通用的建模方法。比较常见的环氧树脂交联的研究都是基于同一个人开发的脚本。于是我尝试了下在此基础上进行修改用于其他体系。

对于交联聚合物的建模,目前见得比较多的有以下两种方法:

  1. 手动跑MD,每跑一段时间人工判断是否满足成键条件,满足再手动成键,直达满足交联度[1]。但是这种方法太麻烦了,手动判断还容易出错。
  2. 使用某不知名大佬开发的ms中环氧树脂交联的脚本[2]。脚本比较成熟,使用简单,因此你搜聚合物交联相关的论文都是在做环氧树脂。脚本下载链接如下:materialstudio交联脚本-Perl文档类资源-CSDN下载原始脚本用于环氧树脂的交联,修改后可以用于其他体系。更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/weixin_51982763/87411716?spm=1001.2014.3001.5501

0.概述

脚本运行原理如下:

#   1. One-time equilibration with NVT and then NPT dynamics
#   2. Update reaction radius
#   3. Create new crosslinks (createNewXlinks)
#   4. Relax with optimization and dynamics
#   5. Open epoxy rings (optional)
#   6. Delete condensates (optional)
#   7. Adjust hydrogens
#   8. Recalculate charge groups (optional)
#   9. Anneal xlinked structure using temperature cycle (optional)
#  10. Write xlink data to study tables
#  11. Repeat steps 2-10 until target conversion or max cutoff is reached

大体上和之前提到的方法1差不多,只是采用了脚本自动执行。

1.MS input设置

以戊二醛交联聚乙烯醇为例。

0.首先绘制交联剂(戊二醛)分子,删除交联反应中会脱去的O原子。其实脚本中是带有交联删除原子的功能的,但只使用于环氧树脂交联,咱也不会改,就从input模型入手了。

1.将用于成键的原子改名为R2。

3.同样的方法处理聚合物(聚乙二醇)分子,将成键原子命名为R1。

4.将处理后的聚合物和交联剂用AC模块构建无定型晶胞。力场选用universal通用力场。因为我们手动删除了键用compass,cvff等可能会出错。 

2.perl脚本配置

这里只说下脚本 中需要注意修改的地方。

0.文件名,聚合物单体名配置与ms中一致

my $xsdDocName               = "MIX"; # AC模块构建的晶胞名。
my $oligomerName            = "Polypva";# 聚合物名
my $oligomerReactiveAtom        = "R1";  # 聚合物交联原子
my $xlinkerName             = "CHO"; # 交联剂名
my $xlinkerReactiveAtom         = "R2";  #交联剂交联原子

1.R1/R2原子能否与多个原子交联

my $react_multi_oligomer     = FALSE;
my $react_multi_xlinker         = TRUE;

2.forcite力场改为universal(因为手动删了原子compass不识别)

my $forcefield           = "universal";

3.修改Hcount函数

sub OCount
{my $atom = shift;my $n = 0;foreach (@{$atom->AttachedAtoms}){$n++ if ($_->ElementSymbol eq "O");#将H修改为R1原子。}return $n;
}

4.修改R2反应活性判断条件

sub isReactiveR2
{my $atom = shift;my $name = $atom->Name;if ($name =~ /^$xlinkerReactiveAtom/){return TRUE if ($name eq "$xlinkerReactiveAtom");return TRUE if ($react_multi_xlinker and Ocount($atom) < 2);#一个R2最多交联两个O}return FALSE;
}

3.运行脚本
运行脚本后输出文件中戊二醛与聚乙烯醇产生了交联结构:

3.reference

[1]张梦赟, 王荣华, 林也平,等. 交联氟硅橡胶玻璃化转变温度及力学性能的分子动力学模拟[J]. 高分子材料科学与工程, 2015, 31(4):68-72.

[2] https://community.3dsbiovia.com/Communities_Topics?tid=09a500000004QfAAAU&name=Materials+Studio&id=90650000000L6AiAAK

[3]Shokuhfar A, Arab B. The effect of cross linking density on the mechanical properties and structure of the epoxy polymers: molecular dynamics simulation[J]. Journal of molecular modeling, 2013, 19: 3719-3731.

material studio使用perl脚本形成交联聚合物相关推荐

  1. perl脚本的简单调试方法

    初学perl语言,最先接触的不是它的语法,而是它的调试方法,当时是由于一个perl script生成的html页面无法正常显示,让我找出问题的原因,然后修复,当时是第一次接触perl,完全没有任何了解 ...

  2. Linux中perl脚本监控

    根据公司需求 自己编写的perl脚本 希望可以帮到大家 #!/usr/bin/perl while(1){ open (LOG,">> /var/log/flow.log&quo ...

  3. linux命令行参数含空格,linux-具有命令行参数和空格的Perl脚本

    我觉得我在这里似乎遗漏了一些明显的东西,但是我似乎无法弄清楚发生了什么.我有一个从C代码调用的perl脚本.脚本参数是这样的: my_script "/some/file/path" ...

  4. perl 远程 mysql_写的一个perl脚本,用于发送远程MySQL命令

    想写一些简化管理操作的脚本,下面是基础脚本之一. 对于一个从来没使用过perl脚本的我来说还是有些难度的,直接上代码. 此脚本用于发送远程MySQL命令并且接收结果,功能比较简单,后面会渐渐完善. # ...

  5. perl 远程 mysql_写的一个perl脚本,用于发送远程MySQL命令 -电脑资料

    想写一些简化管理操作的脚本,下面是基础脚本之一, 对于一个从来没使用过perl脚本的我来说还是有些难度的,直接上代码. 此脚本用于发送远程MySQL命令并且接收结果,功能比较简单,后面会渐渐完善. # ...

  6. linux perl 单例模式,Perl脚本学习经验(三)--Perl中ftp的使用

    使用use Net::FTP; Demo: my $Server = '192.168.1.1'; my $User = 'admin'; my $Password = 'admin'; my $ft ...

  7. window-运行perl脚本(搭建health-check环境)

    安装vsphere sdk VMware-vSphere-Perl-SDK-5.1.0-780721.exe ##看具体的情况安装对应版本的sdk 修改系统环境变量,将安装路径Perl/bin和Per ...

  8. (2)FPGA面试技能提升篇(Perl脚本)

    1.1 FPGA面试技能提升篇2(Perl脚本) 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试技能提升篇2(Perl脚本): 5)结束语. 1.1.2 本 ...

  9. linux脚本中如何调用函数,在Linux中如何在Perl脚本中调用函数(在shell脚本中定义)...

    我有两个脚本,即 shell_script.sh和perl_script.pl. shell_script.sh:它有函数定义,当从Perl脚本调用时,它将以批处理模式在Linux上执行某些命令. p ...

最新文章

  1. alert 回调_element之Alert 警告
  2. entity framework框架生成摘要文档为空(没有元数据文档可用)的bug解决方案
  3. 论优秀的码农,学会这5点!
  4. 『转载』看c#打印的各种技术
  5. 上传苹果版本时错误解决办法:No suitable application records were found. Verify your bundle identifier
  6. schema中字段类型的定义
  7. 【03】AngularJS 简介
  8. 三菱Q系列做modbusTCP服务器,汇川H3u与三菱Q/L系列PLC MODBUS TCP通信说明
  9. 2020-11-12
  10. 小学生春天计算机绘画图片,小学生绘画作品图片春天
  11. Python笔记。超详细的基本语法
  12. 当三代测序遇到肿瘤基因组研究
  13. 解决苹果电脑OS X 10.8.5 安装双系统,遇到的各种坑
  14. idea无法下载源代码
  15. MQTT在线公共的MQTT服务器
  16. 假设今天你开了一家经营生鲜品类的淘宝店,你怎么获取第一批用户, 并能够运营起来
  17. 树莓派Linux-raspberrypi域名解析失败:Temporary failure in name resolution
  18. 各大搜索引擎网站登录入口大全
  19. spring 事务中先删除再插入后唯一键冲突 delete then insert duplicate key
  20. 那种屏幕监控软件适合管理你现在的企业?

热门文章

  1. 记一篇在sata固态上安装好系统的电脑上加装m2固态硬盘,是如何重装系统的
  2. UX用户体验设计十大重要原则 下
  3. Android之主题(Theme)总结
  4. 76.qt qml-QianWindow开源炫酷界面框架(支持白色暗黑渐变自定义控件均以适配)
  5. etp服务器怎么连接共享文件夹,Everything共享文件操作方法
  6. Debian 11 安装缺失的固件
  7. Linux创建空白文件,ubuntu添加右键新建文本文档
  8. 钟馥百:区块链若想迎来爆发,离不开核心三要素
  9. WebSQL 的简单使用
  10. 攻防世界-MISC:ext3