tip(3)

pandas读取文件

pandas.read_csv(filepath_or_buffersep=''delimiter=Noneheader='infer'names=Noneindex_col=Noneusecols=Nonesqueeze=Falseprefix=Nonemangle_dupe_cols=Truedtype=Noneengine=Noneconverters=Nonetrue_values=Nonefalse_values=Noneskipinitialspace=Falseskiprows=Noneskipfooter=0nrows=Nonena_values=Nonekeep_default_na=Truena_filter=Trueverbose=Falseskip_blank_lines=Trueparse_dates=Falseinfer_datetime_format=Falsekeep_date_col=Falsedate_parser=Nonedayfirst=Falseiterator=Falsechunksize=Nonecompression='infer'thousands=Nonedecimal=b'.'lineterminator=Nonequotechar='"'quoting=0doublequote=Trueescapechar=Nonecomment=Noneencoding=Nonedialect=Nonetupleize_cols=Noneerror_bad_lines=Truewarn_bad_lines=Truedelim_whitespace=Falselow_memory=Truememory_map=Falsefloat_precision=None)

http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html#pandas.read_csv

read_csv()用于读取文件,URL,CSV格式文件数据,默认文件里数据的分隔符是","。

 

pandas.read_table(filepath_or_buffersep=Falsedelimiter=Noneheader='infer'names=Noneindex_col=Noneusecols=Nonesqueeze=Falseprefix=Nonemangle_dupe_cols=Truedtype=Noneengine=Noneconverters=Nonetrue_values=Nonefalse_values=Noneskipinitialspace=Falseskiprows=Noneskipfooter=0nrows=Nonena_values=Nonekeep_default_na=Truena_filter=Trueverbose=Falseskip_blank_lines=Trueparse_dates=Falseinfer_datetime_format=Falsekeep_date_col=Falsedate_parser=Nonedayfirst=Falseiterator=Falsechunksize=Nonecompression='infer'thousands=Nonedecimal=b'.'lineterminator=Nonequotechar='"'quoting=0doublequote=Trueescapechar=Nonecomment=Noneencoding=Nonedialect=Nonetupleize_cols=Noneerror_bad_lines=Truewarn_bad_lines=Truedelim_whitespace=Falselow_memory=Truememory_map=Falsefloat_precision=None)

http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_table.html#pandas.read_table

read_table()用于读取文件,URL,CSV格式文件数据,默认文件里数据的分隔符是“\t”。

无论read_csv()和read_table()都默认把第一行数据做为DataFrame的列名。

不希望第一行数据做为DataFrame的列名,需要添加参数header=None。

read_csv("文件路径",header=None)

read_table("文件路径",header=None)

 

其他函数参数:

path:表示文件系统位置、URL、文件型对象的字符串。

sep或delimiter:用于对行中各字段进行拆分的字符序列或正则表达式。

header:用作列名的行号。默认为0(第一行),如果文件没有标题行就将header参数设置为None。

index_col:用作行索引的列编号或列名。可以是单个名称/数字或有多个名称/数字组成的列表(层次化索引)。

names:用于结果的列名列表,结合header=None,可以通过names来设置标题行。

skiprows:需要忽略的行数(从0开始),设置的行数将不会进行读取。

na_values:设置需要将值替换成NA的值。

comment:用于注释信息从行尾拆分出去的字符(一个或多个)。

parse_dates:尝试将数据解析为日期,默认为False。如果为True,则尝试解析所有列。除此之外,参数可以指定需要解析的一组列号或列名。如果列表的元素为列表或元组,就会将多个列组合到一起再进行日期解析工作。

keep_date_col:如果连接多列解析日期,则保持参与连接的列。默认为False。

converters:由列号/列名跟函数之间的映射关系组成的字典。如,{"age:",f}会对列索引为age列的所有值应用函数f。

dayfirst:当解析有歧义的日期时,将其看做国际格式(例如,7/6/2012   ---> June 7 , 2012)。默认为False。

date_parser:用于解析日期的函数。

nrows:需要读取的行数。

iterator:返回一个TextParser以便逐块读取文件。

chunksize:文件块的大小(用于迭代)。

skip_footer:需要忽略的行数(从文件末尾开始计算)。

verbose:打印各种解析器输出信息,如“非数值列中的缺失值的数量”等。

encoding:用于unicode的文本编码格式。例如,"utf-8"或"gbk"等文本的编码格式。

squeeze:如果数据经过解析之后只有一列的时候,返回Series。

thousands:千分位分隔符,如","或"."。
 

在LAMMPS中设置TIP3P或TIP4P力场需要编写适当的输入脚本来指定水模型的具体参数。下面是针对这两个常见水模型的基本配置示例。 ### TIP3P 模型 #### 设置步骤 1. **定义原子类型** 对于TIP3P模型,通常将氧设为类型`1`,氢设为类型`2`。 ```bash units real atom_style full # or 'charge' # Define atom types and masses (for water) pair_style lj/cut 10.0 bond_style harmonic angle_style harmonic mass 1 16.0 # Oxygen mass in amu mass 2 1.008 # Hydrogen mass in amu # Define pair coefficients for Lennard-Jones interactions between different atoms. pair_coeff * * 0.0 0.0 # No LJ interaction between any atoms pair_modify mix arithmetic tail yes # Define bond coefficient bond_coeff 1 450.0 0.9572 # k = 450 kcal/mol/A^2; r0 = 0.9572 A # Define angle coefficient angle_coeff 1 55.0 104.52 # k = 55 kcal/mol/rad^2; theta0 = 104.52 degrees ``` 2. **加载水分子拓扑文件** 可以通过读取数据文件来初始化系统中的水分子,也可以直接构建简单的体系(例如周期性边界条件下的立方盒子)。这里假设有一个预生成的数据文件 `water.data`. ```bash read_data water.data ``` 3. **设定非键相互作用** 需要明确指出哪些类型的粒子之间存在库仑力和其他短程排斥吸引力(如LJ势): ```bash special_bonds lj/coul 0.0 0.0 0.5 # Turn off intra-molecule non-bonded interactions except 1-4 terms. pair_style hybrid/overlay coul/long 10.0 kspace_style pppm 1e-5 # Enable long-range Coulombic interactions using PPPM solver neighbor 2.0 bin # Set neighbor list skin distance to 2 Angstroms neigh_modify delay 10 every 1 check no ``` 4. **运行模拟** 根据具体需求加入热化、平衡及生产阶段命令: ```bash timestep 1.0 fs # Time step size of MD simulation thermo 100 # Output thermo info every 100 steps fix nvt all nvt temp 300.0 300.0 $(dt) # Use NVT ensemble with target temperature set at 300K run 1000 # Run the system for a total number of timesteps specified by you ``` --- ### TIP4P 模型 对于TIP4P模型来说,除了上述内容外还需要特别处理那个虚拟的正电荷位置(即“M”位点),并且更改一些特定系数值以匹配实验观测到的行为特征。 #### 特殊之处 1. 添加新的质量项并修改成对称形式; 2. 更新键长和角度相关的参数表征O-H距离以及H-O-H夹角的变化规律; 3. 调整电荷分布模式使得整体偶极矩更接近实际情况。 下面是一个简化的例子片段展示如何在LAMMPS里表达出这样的区别: ```bash units real atom_style full # Important! Need partial charges on sites other than O & H mass 1 15.999 # Masses unchanged from above but ensure correct order if redefining them here too. mass 2 1.0079 # Likewise... mass 3 0 # Dummy site has zero effective mass! # Adjusting parameters specificially for TIP4P/Ice instead of standard TIP4P can also be done as needed below... # Note that actual values may vary depending upon literature/source cited! pair_style hybrid/overlay ... bond_coeff ... # Same general setup applies yet numerical constants will differ slightly now due to extra M-site geometry considerations. angle_coeff ... # Adding point charge assignment explicitly including dummy particle contribution: group waters type 1 2 3 # Combine oxygen, hydrogens AND m-sites into one group called "waters". set group waters mol @mol_id res 1 # Assign molecules IDs appropriately within this grouping context. set type 1 charge -0.834 set type 2 charge 0.417 set type 3 charge 0 # Chargeless virtual site still contributes via its positioning relative others though. # Additional tweaks around handling extended electrostatic environment specifics might apply when necessary such as adjusting cutoff distances etc., but not shown fully expanded here for brevity's sake. ``` 以上就是关于怎样用LAMMPS实现TIP3P/TIP4P建模的大致指导思路啦!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值