fealpy icon indicating copy to clipboard operation
fealpy copied to clipboard

一个算法设计问题

Open Geniuswangwei opened this issue 2 years ago • 2 comments

魏老师, 您好:

我是一名从事光学隐身研究的工作者, 我设计了一种隐身装置, 现在想利用FEALPy进行验证. 我的计算域如图所示 image 图中的飞机是我的隐身对象, 我能够单独拿到飞机在计算域中的坐标(我拿不到飞机曲线的函数表达式) image 我现在的问题是, 在实际计算中, 我传入的是ps(每个单元的积分点笛卡尔坐标), 我现在需要把这些ps中落在飞机里面的单独拿出来. 请问魏老师, 我应该如何去设计这个算法?

Geniuswangwei avatar Apr 30 '22 07:04 Geniuswangwei

mesh 对象有一个 cell_data 的字典数据,你可以建立一个数组

比如 domain_flag, 形状是 (NC,),假设你有 5 种材料,分别用 1, 2, 3, 4, 5 五个整数来标示

domain_flag[i] == 3, 则标记第 i 个单元为 3 号材料, 这个数据可以放在 mesh 对象的 cell_data 字典中

mesh.cell_data['domain_flag'] = domain_flag

你的 ps 数组有一个轴是 单元的, 在这一轴用 domain_flag == 材料编号, 就可以选择其中一部分单元上的 ps 出来

你注意 mesh.pc_to_points() 函数有一个 index 的默认参数,专门用来指定计算一部分单元上的积分点

weihuayi avatar Apr 30 '22 07:04 weihuayi

问题完美解决, 感谢老师 image

Geniuswangwei avatar May 01 '22 12:05 Geniuswangwei