pyaedt 主从边界设置函数修改
查看官网这个函数支持对相应ID设置主从边界,但一般而言创建模型的时候我们也不晓得画的主从边界对应的ID。最好这个函数直接送我们画的那俩条线的名字就好了,下面打开这个函数,可以看到确实他是按ID这样来设置的。我们把Edges改成Objects就好了。
下面是更改后的函数,可以复制把原函数替换掉就好啦。
def assign_master_slave(
self, master_edge, slave_edge, reverse_master=False, reverse_slave=False, same_as_master=True, bound_name=None
):
"""Assign master and slave boundary conditions to two edges of the same object.
Parameters
----------
master_edge : str
Name of the master edge.
slave_edge : str
Name of the slave edge.
reverse_master : bool, optional
Whether to reverse the master edge to the V direction. The default is ``False``.
reverse_slave : bool, optional
Whether to reverse the master edge to the U direction. The default is ``False``.
same_as_master : bool, optional
Whether the B-Field of the slave edge and master edge are the same. The default is ``True``.
bound_name : str, optional
Name of the master boundary. The default is ``None``, in which case the default name
is used. The name of the slave boundary has a ``_dep`` suffix.
Returns
-------
:class:`pyaedt.modules.Boundary.BoundaryObject`, :class:`pyaedt.modules.Boundary.BoundaryObject`
Master and slave objects.
References
----------
>>> oModule.AssignIndependent
>>> oModule.AssignDependent
"""
master_edge = self.modeler.convert_to_selections(master_edge, True)
slave_edge = self.modeler.convert_to_selections(slave_edge, True)
if not bound_name:
bound_name_m = generate_unique_name("Independent")
bound_name_s = generate_unique_name("Dependent")
else:
bound_name_m = bound_name
bound_name_s = bound_name + "_dep"
props2 = OrderedDict({"Objects": master_edge, "ReverseV": reverse_master})
bound = BoundaryObject(self, bound_name_m, props2, "Independent")
if bound.create():
self.boundaries.append(bound)
props2 = OrderedDict(
{
"Objects": slave_edge,
"ReverseU": reverse_slave,
"Independent": bound_name_m,
"SameAsMaster": same_as_master,
}
)
bound2 = BoundaryObject(self, bound_name_s, props2, "Dependent")
if bound2.create():
self.boundaries.append(bound2)
return bound, bound2
else:
return bound, False
return False, False
这样再次调用这个函数,不会报错啦,主从边界也设置成功啦。