美文网首页FEniCS中文翻译
FENICS计算结果的处理

FENICS计算结果的处理

作者: 马鹏飞_47c5 | 来源:发表于2019-03-20 00:04 被阅读0次

FENICS计算结果的处理

# 省略...

# u定义在mesh的基函数上,可看成是一个解向量
V = FunctionSpace(mesh, "Lagrange", 1)
u = Function(V)

因为u中的数据是被封装起来的,只能通过类的方法取出,如果不借助说明书盲目地使用u中的方法是相当不理智的。

在python的交互环境中,type(u)可以告诉我们,u所属的类。

>>> type(u)
<class 'dolfin.function.function.Function'>

知道它是什么类以后去官方手册上查,结果屁都没有。

dir(u)可以告诉我们对象中的方法,一般情况下我们能使用的是不带下划线的方法。

>>> dir(u)
['T', '__abs__', '__add__', '__bool__', '__call__', '__class__', '__del__', '__delattr__', '__dict__', '__dir__', '__div__', '__doc__', '__eq__', '__float__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__module__', '__mul__', '__ne__', '__neg__', '__new__', '__nonzero__', '__pos__', '__pow__', '__radd__', '__rdiv__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__round__', '__rpow__', '__rsub__', '__rtruediv__', '__setattr__', '__sizeof__', '__slots__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__weakref__', '__xor__', '_count', '_cpp_object', '_globalcount', '_hash', '_repr', '_repr_latex_', '_repr_png_', '_ufl_all_classes_', '_ufl_all_handler_names_', '_ufl_class_', '_ufl_coerce_', '_ufl_compute_hash_', '_ufl_err_str_', '_ufl_evaluate_scalar_', '_ufl_expr_reconstruct_', '_ufl_function_space', '_ufl_handler_name_', '_ufl_is_abstract_', '_ufl_is_differential_', '_ufl_is_evaluation_', '_ufl_is_in_reference_frame_', '_ufl_is_index_free_', '_ufl_is_literal_', '_ufl_is_restriction_', '_ufl_is_scalar_', '_ufl_is_shaping_', '_ufl_is_terminal_', '_ufl_is_terminal_modifier_', '_ufl_language_operators_', '_ufl_noslots_', '_ufl_num_ops_', '_ufl_num_typecodes_', '_ufl_obj_del_counts_', '_ufl_obj_init_counts_', '_ufl_profiling__del__', '_ufl_profiling__init__', '_ufl_regular__del__', '_ufl_regular__init__', '_ufl_required_methods_', '_ufl_required_properties_', '_ufl_shape', '_ufl_signature_data_', '_ufl_terminal_modifiers_', '_ufl_typecode_', 'assign', 'compute_vertex_values', 'copy', 'count', 'cpp_object', 'dx', 'eval', 'eval_cell', 'evaluate', 'extrapolate', 'function_space', 'geometric_dimension', 'get_allow_extrapolation', 'id', 'interpolate', 'is_cellwise_constant', 'leaf_node', 'name', 'rename', 'restrict', 'root_node', 'set_allow_extrapolation', 'split', 'sub', 'ufl_disable_profiling', 'ufl_domain', 'ufl_domains', 'ufl_element', 'ufl_enable_profiling', 'ufl_evaluate', 'ufl_free_indices', 'ufl_function_space', 'ufl_index_dimensions', 'ufl_operands', 'ufl_shape', 'value_dimension', 'value_rank', 'value_shape', 'vector']

然后尝试使用u.vector()[0]可以发现他可以像数组一样使用。

# 赋值
u.vector()[0] = 100
# 取值
print(u.vector()[0])

书上的计算误差的语句已经只要改成(v.vector()-u.vector()).max()就行啦!

如果想对类的方法进行更深入的了解,不妨试试help(u)

相关文章

  • FENICS计算结果的处理

    FENICS计算结果的处理 因为u中的数据是被封装起来的,只能通过类的方法取出,如果不借助说明书盲目地使用u中的方...

  • FENICS趟坑

    一直想研究一下FENICS,最近因为要给师兄介绍了一下FENICS的使用方法,将FENICS求解2D Poisso...

  • 在docker中安装fenics

    在docker中安装fenics 1. 获取fenics镜像 假设你现在安装好了并且已经运行了docker,你有两...

  • map和reduce分析以及调优参考以及yarn

    6.3 map端计算结果缓存处理 1、bypassMergeThreshold:传递reduce端再做合并(mer...

  • Spark权威指南读书笔记(五):流处理

    第二十章 流处理基础 什么是流处理 流处理是连续处理新到来的数据以更新计算结果的行为。在流处理中,输入数据是无边界...

  • fenics中的自由度在不同处理器上的划分

    fenics中的自由度在不同处理器上的划分 有限元中的节点分为两类: 有限元点,使用了多项式空间才会有这个。 网格...

  • map()

    遍历数组的每一项元素,并且在map的第一个参数(回调函数)中进行运算处理后返回计算结果。返回一个由所有计算结果组成...

  • 2018-03-05

    下午 找到合适的计算结果 1457找到了,然后发现进口气流角其实已经处理过了 处理进口气流角分布 1516之前已经...

  • JAVA CAS无锁算法

    核心原理:先比较预期计算结果和当前计算结果,如果相同,则将当前值替换为预期计算结果(或当前计算结果),否则重新计算...

  • 用FEniCS计算力学中的第一PK应力张量和第二PK应力张量

    用FEniCS计算力学中的第一PK应力张量和第二PK应力张量

网友评论

    本文标题:FENICS计算结果的处理

    本文链接:https://www.haomeiwen.com/subject/gpfamqtx.html