作者归档:Rocket Mao

Simulation of dielectric elastomer with ABAQUS

介电高弹体数值模拟,ABAQUS,有限元模拟

Finite element for the dielectric elastomer. 

When I studied the dielectric elastic, there are not so many ways to simulate the dielectric elastomer. The only way to do it is using a UMAT[1] which is written by Xuanhe Zhao [1]. However, it is not easy to reprogram it, especially since the hyperelastic model is complex, for example, the Gent model. Of course, there is a lot of ways to solve this problem. But it is so difficult for entry-level research who is not familiar with the numerical program. In 2014, I started to know the problem: wrinkle of dielectric elastomer. I have tried with Xuanhe’s UMAT, but it does not work well. I also reprogram it with the Mooney-Rivlin model, but still not work well with my wrinkle problem. I think it is because of the large strain of the dielectric elastomer. And As in the UMAT, I need to build the Jacobian matrix (DDSDDE) which is very difficult.

Then Wei hong introduces a method using a new subroutine called UANISOHYPER_INV, which is very easy to program and can be easily programmed with different hyperelastic models, also using the build-in function of ABAQUS. All the theoretical background is provided in our paper [3]. In the paper, we did not show the details, here, I would describe a little bit how to use this method.

1. Create a material, but don’t add anything

2. Model-\textgreater Edit Keywords
Find the material you just defined. “Add After” *Material, name=…
Add the following 2 lines:

*ANISOTROPIC HYPERELASTIC, USER, FORMULATION=INVARIANT, TYPE=INCOMPRESSIBLE, LOCAL DIRECTIONS=1, PROPERTIES=3

20.62e3,3.983e-11,220

The second line defines two material parameters, the modulus, and the nominal electric field (voltage/original thickness). This example is for gent model that shear modulus=20.62e3, permittivity= 3.983e-11, stretch limit (J), 220

3. Create a section, a part … and all regular stuff

4. Model-\textgreater Edit Keywords Find the part of EAP, Add the following 3 lines before *Element, type=…

*ORIENTATION, NAME=FIELD, LOCAL DIRECTIONS=1

1, 0, 0, 1, 1, 0

3,0

0, 0, 1

This defines a local coordinate system: x in the 100 direction, y in the 010 direction, and 0 rotation (second line)
The last line means the electric field is applied in the z-direction of the local system.
for cylindric system we should define the z-axis

*ORIENTATION, NAME=FIELD, system=cylindrical,LOCAL DIRECTIONS=1

0, 0, 0, 0, 1, 0

3,0

0, 0, 1

5. Find the section you created, add the following keyword to the same line of *Solid Section, …
orientation=FIELD
This would assign the direction defined in step 4 to this section

6. Create a job and add the Fortran file as the user subroutine

 

Please cite our paper [3], if you would like to use this method.

Reference.
1. UMAT is a subroutine in ABAQUS
2. Zhao, X., and Suo, Z., 2008, “Method to analyze programmable deformation of dielectric elastomer layers,” Applied Physics Letters, 93(25), p. 251902.
3. Mao, G., Hong, W., Kaltenbrunner, M., and Qu, S. (May 19, 2021). “A numerical approach based on finite element method for the wrinkling analysis of dielectric elastomer membranes.” ASME. J. Appl. Mech. doi: https://doi.org/10.1115/1.4051212

code: the first zip file is the subroutine (UANISOHYPER_INV) for the Mooney-Rivlin model, also an input file is added as an example. The second zip file is the subroutine (UANISOHYPER_INV ) for the Gent model and the neo_Hookean model.

Files: 

Journal of applied mechanics 投稿记录 record of submission

黄老师处理速度太高了。


Paper Submitted 1 May 5, 2021
Editor Decision 1 Accept As Is May 13, 2021
Accepted for Publication 1 May 13, 2021
Final Manuscript Files Submitted 1 May 16, 2021

Copyright Form Received 1 May 17, 2021
Released for Production 1 May 18, 2021
Posting of Accepted Manuscript Online 1 May 19, 2021

notes, it seems that the authors don’t need to input all the authors’ name at the initial submission but only needs after the paper is accepted.

A numerical approach based on finite element method for the wrinkling analysis of dielectric elastomer membranes

When using this method, please cite the paper,

Mao, G., Hong, W., Kaltenbrunner, M., and Qu, S. (May 19, 2021). “A numerical approach based on finite element method for the wrinkling analysis of dielectric elastomer membranes.” ASME. J. Appl. Mech. doi: https://doi.org/10.1115/1.4051212

Supplemenatry material for the paper download from the following link.

~~~~~~more about the simulation of dielectric elastomer~~~~~~~~~~~~~~~~~~

The usage of this subroutine can be found here by click: https://maolab.cn/2021/05/21/finite-element-method-for-dielectric-elastomer/

Journal of Applied Mechanics: comments

2021年5月16日17:44:32 更新

大周末的被黄老师再次催投稿…

%%

杂志的主编黄老师,简直了,感觉就是守在电脑前的,秒级响应,检查出了我的一处投稿错误,要求重投。

投稿的时候,没有发现可以填写cover letter的地方。journal的help 文档感觉10年前设计的,总之一直没有变过。

投稿的流程设计不是很合理

  1. upload pdf file 之后,你无法知道你自己上传的file是否正确,如果不正确的话,那么你需要重新submission,需要重建一个文章号,所有程序需要重新走一遍。
  2. submission之后才能填写authors,而且每个author需要sign一个document,真是麻烦。要是作者多的话,waitting authors’s signature 就需要非常长的时间,简直是阻碍合作。

优点也是有的,就是文章可以撤回,随时撤回,只是辛苦了编辑,后台不知道是不是一直收到提醒。

投稿还是很辛苦的,改格式,填内容,有点麻烦。

How to cancel the auto replacement of typing in Coreldraw 2020

It is a little bit annoying that Coreldraw correct my input automatically with default setting.

for example, “(r” will be corrected as “®”

Here is the place that you can change it, tools->option->coreldraw->text->QuickCorrect, then you can find the setting, unclick the “replace text while typing”.

如何在CorelDRAW中取消自动修改输入的英文文字

联想拯救者Legion 5 Pro(国内型号R9000P 2021)体验

之前用的笔记本是dell precision 7520丐版(i7-7700HQ+M1200 升级到32GB 内存加上M1200显卡)。但是最近感觉他的软件越来越力不从心了。所以购买了新的机子。

之前调研了很多产品,主要考虑有限元计算,所以想着cpu要强。之前的是4核,准备升级个八核。市场上的8核cpu最强的就是AMD 5900HX,但是欧洲目前只有华硕有,但是华硕的在欧洲的价格比国内贵太多。丐版的魔霸(5900HX+GTX3070)都要2300欧左右(18000左右)。所以还是支持下联想。

联想拯救者legion 5 pro,欧洲这边报价1799欧元(14000)。我的型号是82JQ001PGE,主要配置(AMD 5800H+RTX3070+32GBRAM+1TSSD)具体配置可以看下面的链接https://psref.lenovo.com/Detail/Legion/Lenovo_Legion_5_Pro_16ACH6H?M=82JQ001PGE

这里采用另一个类似型号的配置截图(主要键盘背光不同,我的是4分区RGB)

我将原先dell的ssd (三星970EVO plus 1TB, NVME 2280)硬盘移到新的机子中(原装西数SN730 1TB),机子内硬盘插口处预留了螺丝。拆机有点麻烦,机子卡扣比较多,特别注意风扇出风口处的卡扣。之前没有拆过拯救者的话,最好看下视频比如b站这个。安装之后新的机子中有两个NVME 2280 SSD。采用了AS SSD Benchmark以及三星自带的软件对于ssd进行了测速,两者性能相近。

原装的系统是windows 10 home。安装硬盘开机之后,原系统直接可以使用且为windows 10 pro 版本,之后去联想官网下载Lenovo vantage。软件挺好用的,特别是Lenovo vantage toolbar应该是从thinkpad那里移植过来的。更新了驱动之后,电脑在系统上和原先的笔记本没有什么区别。所有软件该激活的都激活了,不过matlab要求更新license。

硬件上,联想的笔记本的屏幕是165Hz的2K高刷屏幕,肉眼可见的泛黄,提高亮度则情况有所好转。喇叭的低音一般般,高音还是可以的,音质上感觉不如我的sony小音箱(SRS-XB12立体声)。

键盘背光有几种典型模式,呼吸,变色(两类颜色可选),键盘的手感一般,比不上thinkpad,相对于dell这个也差了点(键程比较短),另外键盘的装配也一般,导致了,每个键的透光程度不一致。

整个机子的做功还是不错的,特别是A面和D面,全金属。B面的显示占了很大的面积,观感很好。重视有点重,机身快2.6KG了,加上300W适配器1.05KG(真的重)比老的dell工作站(机身2.79 kg,180W适配器0.58 kg)还重。

测试了下cpu的性能,Cinebech R23, 单线程 1312,多线程 12242。分别比我之前的笔记本(单线程851,多线程3602))提高54%和240%。还是比较满意的。暂时还没有测试有限元的计算速度。通过了abaqus 自带的verification,正常使用没有问题。跑了下鲁大师,结果如下:

测试了下MATLAB(2020a)的速度,跑了下知乎中的一段代码,原代码附在文末,共用时14.22s, 一般水平吧。相对的7700HQ为22s,4800H为18.3s。具体可以参考知乎回答https://www.zhihu.com/question/435741427/answer/1687421295

机子打开大型软件的速度还是比老机子快很多的。

试了两把Call of duty cold war,外接4K(HDMI接口),采用软件默认设置70fps左右,画面有撕裂,画质很好(比M1200好多了)。同时测试了戴森球,4K 4倍抗锯齿,fps在35帧左右。

另外显存8GB感觉以后可能不够用。可能是4K显示器的缘故,call of duty用了70%,戴森球用了73%。CPU在两个游戏中的占用都很低,戴森球占用小于10%。

暂时就测试这些,后面看看新电脑能否提高工作效率。

2021年4月14日更新

在外接显示器时(机子显示器开启状态),机子在玩大型游戏时,切出游戏到桌面时,电脑会比较卡。同时切回游戏时,回闪回桌面,再切游戏会恢复正常。

代码如下:

clear, clc
A = rand(3e3);
B = rand(3e3);
num = 3;
T = zeros(8,num);
for i = 1:num
    % Test1 乘法
    clc
    disp('^-------')
    disp(['第' sprintf('%4i',i) ' 轮乘法测试中...'])
    tic, X1 = A*B; T(1,i) = toc;
    % Test2 稀疏矩阵
    clc
    disp('-^------')
    disp(['第' sprintf('%4i',i) ' 轮稀疏矩阵测试中...'])
    tic, X2 = sparse(A); T(2,i) = toc;
    % Test3 逆矩阵
    clc
    disp('--^-----')
    disp(['第' sprintf('%4i',i) ' 轮逆矩阵测试中...'])
    tic, X3 = inv(A); T(3,i) = toc;
    % Test4 快速傅里叶
    clc
    disp('---^----')
    disp(['第' sprintf('%4i',i) ' 轮快速傅里叶测试中...'])
    tic, X4 = fft(A); T(4,i) = toc;
    % Test5 LU分解
    clc
    disp('----^---')
    disp(['第' sprintf('%4i',i) ' 轮LU分解测试中...'])
    tic, [L5,U5,P5] = lu(A); T(5,i) = toc;
    % Test6 QR分解
    clc
    disp('-----^--')
    disp(['第' sprintf('%4i',i) ' 轮QR分解测试中...'])
    tic, X6 = qr(A); T(6,i) = toc;
    % Test7 奇异值分解
    clc
    disp('------^-')
    disp(['第' sprintf('%4i',i) ' 轮奇异值分解测试中...'])
    tic, [U7,S7,V7] = svd(A); T(7,i) = toc;
    % Test8 特征值与特征向量
    clc
    disp('-------^')
    disp(['第' sprintf('%4i',i) ' 轮特征值与特征向量测试中...'])
    tic, [V8,D8] = eig(A); T(8,i) = toc;
end
clc
% 各项测试平均时间
t = sum(T,2)./num;
disp(['Multiplication :   ' sprintf('%6f',t(1))])
disp(['Sparse         :   ' sprintf('%6f',t(2))])
disp(['Inverse        :   ' sprintf('%6f',t(3))])
disp(['FFT            :   ' sprintf('%6f',t(4))])
disp(['LU             :   ' sprintf('%6f',t(5))])
disp(['QR             :   ' sprintf('%6f',t(6))])
disp(['SVD            :   ' sprintf('%6f',t(7))])
disp(['Eigen          :   ' sprintf('%6f',t(8))])
% Total
total = sum(t);
disp('----------------------------')
disp(['Total          :   ' sprintf('%6f',total)])

2021年5月7日更新

感觉在使用Word (comments 比较多的时候)和 Matlab时偶尔有卡顿。

2021年5月9日更新

之前的卡顿可能是由于我外接了4K显示器的缘故。后面调整了笔记本显示器的刷新率,从165降低到了60Hz(Gpu占用率降低为30%左右), 顺滑了不少。可能是显卡的问题。

2021年5月19日更新

游戏过程中,由于功耗分配的问题,导致了cpu分得的功耗在20W左右,所以开游戏的同时,其他所有操作都会比较卡段。也就是切出游戏,打开chrome搜索的时候,电脑会非常卡。不知道intel的cpu是否会好一点。

2021年11月17日更新

不知道是不是AMDcpu的原因,升级windows11 之后在安静模式下,鼠标卡顿明显,有非常强的迟滞感。

达芬奇剪辑软件对于内存的巨大占用

今天利用达芬奇软件剪辑了两个时间长度为1分40秒的FHD@50Hz的视频,cpu占用30%, RAM占用直接上了40G,显存占用9.0G,其中6.6G为显卡显存,2.4G为共享内存。真的是伤不起。

以下为资源管理截图:

平台配置

Device name DESKTOP-KO7EL1P
Processor AMD Ryzen 9 3950X 16-Core Processor 3.50 GHz
Installed RAM 64.0 GB
System type 64-bit operating system, x64-based processor
Edition Windows 10 Pro
Version 20H2
Nvidia GeForce GTX 1080 8G
Installed on ‎2020/‎7/‎15
OS build 19042.804

a set of interesting papers written by George M. Whitesides

Here I collect some interesting paper written by George M. Whitesides. Most of them are not serious scientific papers but interesting and useful.

Whitesides, George M. “Curiosity and science.” Angewandte Chemie International Edition 57.16 (2018): 4126-4129.

Whitesides, George M. “Soft robotics.” Angewandte Chemie International Edition 57.16 (2018): 4258-4273.

Whitesides, George M. “Whitesides’ group: writing a paper.” Advanced Materials 16.15 (2004): 1375-1377.

Ilievski, Filip, et al. “Soft robotics for chemists.” Angewandte Chemie 123.8 (2011): 1930-1935.