fealpy
fealpy copied to clipboard
一个算法设计问题
魏老师, 您好:
我是一名从事光学隐身研究的工作者, 我设计了一种隐身装置, 现在想利用FEALPy进行验证. 我的计算域如图所示
图中的飞机是我的隐身对象, 我能够单独拿到飞机在计算域中的坐标(我拿不到飞机曲线的函数表达式)
我现在的问题是, 在实际计算中, 我传入的是ps(每个单元的积分点笛卡尔坐标), 我现在需要把这些ps中落在飞机里面的单独拿出来.
请问魏老师, 我应该如何去设计这个算法?
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 的默认参数,专门用来指定计算一部分单元上的积分点
问题完美解决, 感谢老师