Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python fenics:在特定点上施加力_Python_Finite Element Analysis - Fatal编程技术网

Python fenics:在特定点上施加力

Python fenics:在特定点上施加力,python,finite-element-analysis,Python,Finite Element Analysis,我是fenics和有限元方法的新手 我尝试实现一种方法来估计可变形物体的弹性参数(杨氏模量和泊松比)。我想做的是: 从底部固定的对象(作为立方体的起点) 在物体顶部的特定位置施加外力,并使用梯度下降等方法。通过比较实际位移和估计位移来估计弹性参数 我正在看fenics的超弹性演示 () 但我不知道如何在网格上的特定节点上应用,然后基于该力使对象变形。我认为在这个演示中,在整个网格上的-y方向上施加了一个力。 存在体力矢量: B=常数((0.0,-0.5,0.0)) 我是否应该将其更改为与网

我是fenics和有限元方法的新手

我尝试实现一种方法来估计可变形物体的弹性参数(杨氏模量和泊松比)。我想做的是:

  • 从底部固定的对象(作为立方体的起点)
  • 在物体顶部的特定位置施加外力,并使用梯度下降等方法。通过比较实际位移和估计位移来估计弹性参数
我正在看fenics的超弹性演示 () 但我不知道如何在网格上的特定节点上应用,然后基于该力使对象变形。我认为在这个演示中,在整个网格上的-y方向上施加了一个力。 存在体力矢量:
B=常数((0.0,-0.5,0.0))

我是否应该将其更改为与网格大小相同的向量,并在向量的元素上施加一个力值,该元素对应于网格上的节点元素


对不起,如果我没什么道理的话。这个概念对我来说是新的,所以我很难说出我脑子里在想什么。

如果是各向同性、均质弹性材料,我会说你不需要立方体。二维问题就可以了

我不明白你所说的“估计弹性参数”是什么意思。为了计算位移,必须将这些值输入到模型中。您是否建议将实验数据与计算结果进行比较。对吗

我不会用身体的力量。如果你的身体是一个沿x轴定向的矩形,长度L-x在x方向,L-y在y方向,我会在x=L-x的垂直面上施加牵引力(均匀分布的力)

您可以轻松计算处于张力状态的简单1D物体的杨氏模量:

stress = modulus * strain
对于应变较小的1D延伸:

sigma-xx = E * eps-xx
你知道吗

sigma-xx = f-x/area-x = F/A

替代:

F=(AE/L)*u

您可以重新排列以获得E的简单方程式:

E = FL/Au
式中,F=施加荷载,L=主体长度,A=横截面积,u=位移

如果你知道剪切应力和剪切应变之间的关系,你可以得到类似的泊松比关系

E = FL/Au