vmd python 命令_vmdTK操作命令

VMD

console

是十分强大的,也提供了很多内置命令,这里把当年研究

VMD

内置命令的笔记的一小部分发上来。和

user guide

相似之处,但是我都尽量写成例子的形式来说明,绝大部分都是亲自试过的。可能当时有些地方写的不准确,也不完整,但是现在也懒

check

了。有疑问还是对照

user guide

中的严格说法。

*****

一些额外内容

*****

VMD

里面所有行为,都可以用命令描述出来。打开

VMD

之后运行

log sdf.txt

,接下来干你的事,你干的所有事的等价的命令行都被记

录到

sdf.txt

当中,运行

log off

停止记录。

atomselect

之后占用内存,选择范围的原子越多占得越大,应当用完之后删除,比如

atomselect1 delete

,内存就释放了。但是

atomselect

编号仍然继续往后延,并不会重新占用已经删了的。

修改

TKconsole

的设置,通过修改

D:\study\VMD186\plugins\noarch\tcl\vmdtkcon1.0\tkcon-modified.tcl

。比如里面的

font

create tkconfixed -family Courier -size 12

,把

12

改成

20

,字号就变成

20

了。

.vmdrc

或者

vmd.rc

里面有很多被注释掉的内容,也有没有被注释的,都是控制启动后

vmd

的默认设置,比如开哪些窗口,窗口位

置,光源什么的

*****

以下为正文

*****

animate dup 0

复制当前帧到最后新的一帧

animate dup frame 2 0

复制

22

帧到新的帧

animate pause

暂停播放,按回车或者随便瞎输个命令就可继续

animate forward/for

向下播放

animate reverse/rev

向前播放

animate prev/next

向前

/

向后一帧

animate skip

设置播放时的

step

animate delete all

删除所有帧

animate speed 0.3

设置速度为

0.3

,数值

>=0

<=1

animate style once/loop/rock

设置播放模式

animate styles

显示可用的播放模式,其实就是显示

once

loop

rock

animate goto start/end/n

回到开始帧、末尾帧、第

n

atomselect keywords

显示所有可以选择的关键字

macro

指的就是那些

charged

acidic

之类的整体。

atomselect macro

显示所有

macro

atomselect macro charged

显示

charged

的定义

atomselect delmacro ions

删除

ions

macro

atomselect macro sdfsdf {resname ALA and hydrogen}

定义一个新的

macro

,如果已经有定义了,则覆盖

设好的

macro

graphics representations-selection-singlewords

里面也会出现

atomselect 3 "resid 25" frame last

选择

3

号分子最后一帧的

resid 25

分子可以是数字或者

top

所选内容就是普通的

selection

用双引号或者

{}

括住,帧号可以是数字、

first

last

now

选择之后,会出现比如

atomselect0

,然后可以运行:

atomselect0 num

显示所选的内容有多少原子

atomselect0 list

显示所选的内容的原子的编号

atomselect0 text

显示所选内容表示的意义

atomselect0 molid

显示所选内容的分子编号

atomselect0 frame

显示所选内容的所在帧。

atomselect0 frame x

设置选择的帧为

x

atomselect0 delete

删除

atomselect0

函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
import numpy as np from numba import jit @jit def VMD(signal, fs, T, alpha, tau, K, DC, init, tol): f_mirror = np.zeros((2*T)) for i in range(T//2): f_mirror[i] = signal[T//2-1-i] for k in range(T//2, 3*T//2): f_mirror[k] = signal[k - T // 2] for l in range(3*T//2, 2*T): f_mirror[l] = signal[5*T//2-l-1] f = f_mirror T = len(f) t = np.arange(1, T+1, 1)/T freqs = t - 0.5 - 1.0 / T freqs = freqs + 0.j N = 500 Alpha = alpha * np.ones((1, K)) Alpha = Alpha + 0.j f_hat = np.fft.fftshift(np.fft.fft(f)) f_hat_plus = f_hat for l in range(0, T//2): f_hat_plus[l] = 0 u_hat_plus = np.zeros((N, T, K)) u_hat_plus = u_hat_plus + 0.j omega_plus = np.zeros((N, K)) # 生成N行K列的数组,元素为0, 500*3 omega_plus = omega_plus + 0.j if init == 1: for i in range(0, K): omega_plus[0][i] = 0.5/K*i elif init == 2: omega_plus[0, :] = np.sort(np.exp(np.log(fs)) + (np.log(0.5)-np.log(fs))*np.random.rand(0, K)) else: omega_plus[0, :] = 0 if DC: omega_plus[0, 0] = 0 else: pass # 从空双变量开始 lambda_hat = np.zeros((N, T)) # lambda_hat = lambda_hat + 0.j # 其他参数初始化 uDiff = tol + 2.77555756e-17 # 更新步长 n = 1 # 循环计数 sum_uk = 0.j # 器材累加 while uDiff > tol and n < N : # 表示没有收敛或低于迭代次数,其中,n和K都从1开始 # 更新第一阶模态累加器 k = 0 sum_uk = u_hat_plus[n-1, :, K-1] + sum_uk - u_hat_plus[n-1, :, 0] # sum_uk此时还是一维数组 # print(sum_uk) # ------------------------ ----检验专用----------------------- # 通过残差维纳滤波器更新第一模态的频谱 u_hat_plus[n, :, k] = (f_hat_plus - sum_uk - lambda_hat[n - 1, :] / 2.0) / (1 + Alpha[0, k]*(freqs - omega_plus[n-1, k])**2) if ~DC: omega_plus[n, k] = np.dot(freqs[T//2: T], ((abs(u_hat_plus[n, T//2:T, k])).reshape(T//2, 1))**2) / sum((abs(u_hat_plus[n, T//2:T, k]))**2) for k in range(1, K):
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值