如果这个问题之前已经发布过或者听起来有点幼稚,我提前道歉。
我正在 MATLAB 中编写自己的代码,用于交错有限元求解器,用于小位移的流固耦合问题。到目前为止,我已经分别对流体和固体求解器进行了基准测试,并且两者都运行良好。
在这一点上,我被困在如何耦合流体域和固体域之间的力。我知道正确的方法是平衡固体和流体域界面上的应力,如下所示:
但到目前为止,我无法将该条件转换为离散化的弱形式,然后再转换为代码。
为了对我的力耦合进行基准测试,我使用了 COMSOL Multiphysics 中的两组值(相同的问题设置):比较固体上的总反应(在和方向)。 ii. 比较求解固体系统后的最大位移。
为了找到更简单的耦合解决方案,我尝试了以下两种方法:
1.在求解流体状态变量的流体系统后,我直接使用流体有限元方程组来计算力(见下文,Reddy 和 Gartling 2010 P166)。我选择了与实体界面节点相对应的那些力的负值。
我知道流体使用欧拉描述,而固体使用拉格朗日描述。但是由于我假设变形很小,所以应力张量不应该不同。
这种方法的总反应误差小于 2%,但最大位移误差在 5%-10% 之间。
2.使用流体上的牵引边界条件公式计算流体-结构界面上的力(见下文)。我选择了与接口节点相对应的这些值的负值,但我仍然得到错误的总反应和最大位移。
在制定这个条件时,我遵循 Reddy 和 Gartling 2010 P184。
我的问题是:
一种。方法 1 和 2 在理论上是否正确实现流体域和固体域之间的动态耦合?
湾。是否有任何关于如何将接口处的压力平衡条件转换为离散化弱形式和/或代码的资源?

