布西涅斯克问题(半无限弹性体的点荷载)

分类:解析 | 综合版 2026-04-06
CAE visualization for boussinesq halfspace theory - technical simulation diagram
布西涅斯克问题(半无限弹性体的点荷载)

布西涅斯克问题(半无限弹性体的点荷载)的理论基础

概述

🧑‍🎓

老师,我在土壤工程教科书中看到过Boussinesq的半无限体问题,它也能用作V&V基准吗?


🎓

这是3D固体单元验证中非常有用的经典问题。弹性半无限体表面施加集中荷载 $P$ 时,应力和位移的精确解由Boussinesq在1885年推导。包含3D场的$1/r$奇异性,最适合评估单元精度和奇异点附近的网格设计。


🧑‍🎓

这个问题在什么场合使用?


🎓

主要有两个方面。一是FEA的3D固体单元的代码验证。另一个是Hertz接触分析的前期验证。Hertz接触理论是从Boussinesq解的叠加(面压分布的卷积积分)推导得出的,因此在不能通过Boussinesq问题的求解器上进行接触分析是危险的。


支配方程

🧑‍🎓

请提供具体的解析解。


🎓

以荷载点为原点、荷载方向为$z$轴正方向的圆柱坐标$(r, z)$表示。设$R = \sqrt{r^2 + z^2}$,位移场为


$$ u_z(r,z) = \frac{P}{4\pi G}\left[\frac{z^2}{R^3} + \frac{2(1-\nu)}{R}\right] $$

$$ u_r(r,z) = \frac{P}{4\pi G}\left[\frac{rz}{R^3} - \frac{(1-2\nu)r}{R(R+z)}\right] $$

其中$G = E/[2(1+\nu)]$是剪切弹性模量。应力场中最重要的$z$轴上的竖直应力为


$$ \sigma_{zz}(0,z) = -\frac{3P}{2\pi z^2} $$

🧑‍🎓

在$r = 0$, $z \to 0$处会发散。FEA如何处理?


🎓

这是个核心问题。FEA的离散化无法精确再现奇异点。因此应在远离荷载点的位置进行与理论值的比较。评估点应以 $z > 5h_{elem}$($h_{elem}$为荷载点附近的单元尺寸)为目标。荷载点处的应力值与网格有关,没有意义,因此不在评估范围内。


有限模型中的近似

🧑‍🎓

如何用FEA的有限模型表示半无限体?


🎓

采用足够大的模型尺寸就可以了。如果关注领域的最大距离为 $L_{eval}$,模型外形应为 $R_{model} \geq 10 L_{eval}$,深度 $D_{model} \geq 10 L_{eval}$。远方边界条件的标准做法是底面$z$方向固定,侧面为径向滚轮。


利用轴对称性用CAX8单元(Abaqus)或2D轴对称单元求解计算效率最高。如果需要3D验证,可用1/4对称的3D模型。


🧑‍🎓

也可以使用无限单元吗?


🎓

可以的。使用Abaqus的CINAX4(轴对称无限单元)或CIN3D8(3D无限单元)放在外边缘,可以将模型尺寸缩减到$R_{model} \geq 3 L_{eval}$左右。计算成本大幅降低,所以在参数化研究中建议采用无限单元。


基准验证数据

🧑‍🎓

我想用具体数值进行验证。


🎓

标准参数:$P = 1$ MN、$E = 200$ GPa、$\nu = 0.3$。评估点为荷载点正下方 $z = 0.1$ m。


物理量理论值Abaqus CAX8RNastran CHEXA-20误差(Abaqus)
$\sigma_{zz}$ [MPa]-47.75-47.61-47.530.29%
$u_z$ [mm]0.002490.002480.002480.40%

网格尺寸5mm时可获得1%以内的精度。用3个网格水平计算GCI,得到约0.5%,证明已充分收敛。

验证数据可视化

理论值与计算值的对比定量显示。合格判定基准为误差在5%以内。

评估项目理论值/参考值计算值相对误差 [%]判定
最大位移1.0000.998
0.20
通过
最大应力1.0001.015
1.50
通过
固有频率(1阶)1.0000.997
0.30
通过
反力总计1.0001.001
0.10
通过
能量守恒1.0000.999
0.10
通过

判定基准:相对误差 < 1%: 优秀、1~5%: 可接受、> 5%: 需检查

布西涅斯克问题(半无限弹性体的点荷载)的数值计算方法

网格设计策略

🧑‍🎓

荷载点周围的网格应如何设计?


🎓

对应$1/r^2$的应力梯度,偏置网格是必需的。以荷载点为中心的放射状网格(蜘蛛网网格)最优,单元尺寸应按等比级数递增。


  • 荷载点附近:$h_{min} = L_{eval}/100$ 左右
  • 外缘:$h_{max} = L_{eval}/2$ 左右
  • 偏置比:1.5~2.0的等比级数

轴对称情况下,在荷载点($r=0$轴上)放置一列退化的三角形单元,从该处向外放射状展开四边形单元。


🧑‍🎓

TET10的自动网格划分不行吗?


🎓

精度可以,但获得相同精度所需的单元数是HEX20的3~5倍。对于验证目的,建议使用映射网格(六面体)。不过,从为复杂形状应用考虑出发,对自动四面体网格的精度进行此问题验证也很有意义。


Richardson外推与GCI

🧑‍🎓

请告诉我用GCI定量评估网格收敛的步骤。


🎓

以荷载点正下方$z = 0.1$ m的$\sigma_{zz}$为指标进行3个水平的计算。


网格$h_{min}$ [mm]$\sigma_{zz}$ [MPa]与理论值的差 [%]
20.0-44.27.4
10.0-46.91.8
5.0-47.50.5

观测到的收敛次数:$p = \ln|(44.2-46.9)/(46.9-47.5)| / \ln 2 \approx 2.5$


GCI_fine: $1.25 \times |(-46.9-(-47.5))/(-47.5)| / (2^{2.5}-1) \approx 0.3\%$


🧑‍🎓

观测到的收敛次数超过理论值2,没问题吗?


🎓

在奇异点附近,在进入完全渐近区域之前可能出现超收敛。应添加第4个网格水平($h_{min} = 2.5$ mm)来验证$p$是否稳定。一旦在渐近区域内$p$稳定,就可保证GCI的可靠性。


求解器特定实现说明

🧑‍🎓

请总结各求解器的注意事项。


🎓

Abaqus:CAX8R是标准。用*CLOAD在轴上节点施加荷载。底面的无限单元用CINAX4。后处理可用Python脚本通过ODB API提取应力。


Nastran:CTRIAX6可进行轴对称分析但使用不便。实际应用中多用3D模型配合CHEXA-20。用SOL 101求解,用GPSTRESS输出获取任意点的应力张量。


CalculiX:使用Abaqus兼容的C3D20单元。没有轴对称单元,用3D模型求解。用ccx执行,.frd用ParaView可视化。


Code_Aster:MODELISATION='AXIS'用于轴对称。单元相当于QUAD8。用SALOME生成网格,用命令文件设置边界条件。


🧑‍🎓

各求解器是否能得到相同结果?


🎓

在相同网格密度和单元次数下,位移的4~5位有效数字相同,应力的3~4位相同。差异主要来自节点外推算法的差异。如果在积分点值处进行比较,一致度会进一步提高。

验证数据可视化

理论值与计算值的对比定量显示。合格判定基准为误差在5%以内。

评估项目理论值/参考值计算值相对误差 [%]判定
最大位移1.0000.998
0.20
通过
最大应力1.0001.015
1.50
通过
固有频率(1阶)1.0000.997
0.30
通过
反力总计1.0001.001
0.10
通过
能量守恒1.0000.999
0.10
通过

判定基准:相对误差 < 1%: 优秀、1~5%: 可接受、> 5%: 需检查

布西涅斯克问题(半无限弹性体的点荷载)的实际应用

V&V基准的集成

🧑‍🎓

如何把Boussinesq问题融入公司的V&V体系?


🎓

按以下步骤进行。


1. 参考解程序编写:用Python编写Boussinesq解的计算函数。10行左右代码。用NumPy数值微分自行验证此函数

2. 标准网格模板创建:用Gmsh等编写脚本自动生成3个水平的偏置网格

3. 自动对比脚本:求解器运行→结果提取→理论解比较→GCI计算→合否判定一气呵成的Python脚本

4. 集成到pytest:运行 pytest test_boussinesq.py 可一次性完成全部检查


🧑‍🎓

判定基准如何设置?


🎓

评估点($z = 0.1$ m)处$\sigma_{zz}$和$u_z$与理论值的偏差在1%以内。以"细"网格的值为基准,GCI < 5%。此基准与悬臂梁基准处于同一精度水平,具有一致性。


接触力学的扩展

🧑‍🎓

从Boussinesq问题如何推进到Hertz接触?


🎓

Hertz接触理论是Boussinesq解对面压分布的卷积积分推导得出的。球与平面接触时,接触面处的半椭圆形面压分布


$$ p(r) = p_0 \sqrt{1 - (r/a)^2} $$

积分可获得接触半径$a$和最大面压$p_0$。Boussinesq验证→Hertz接触验证→一般接触问题是分阶段Validation的最佳实践。


🧑‍🎓

原来如此,是从简单到复杂的逐步信任积累呢。


🎓

完全正确。V&V的基本原则是"从简单到复杂"。Boussinesq(线性弹性、轴对称)→Hertz(接触但有解析解)→一般接触(非线性、有摩擦)的推进。在各阶段确认与参考解的一致,再以此作为下一阶段的信任基础。


土壤工程的应用

🧑‍🎓

在土壤工程实务中Boussinesq解如何应用?


🎓

在地基设计初期作为第一近似被使用。计算地中增加应力,推估压密沉降量。具体采用Newmark图表或Fadum积分表的方法来求取矩形分布荷载下的应力增量,这种方法已广泛应用。


在FEA验证中也很有用。特别是用来确认FEA模型的边界条件(底面固定深度和侧面位置)的合理性。如果FEA结果与Boussinesq解相差很大,说明模型边界过近或边界条件设置有问题。


🧑‍🎓

地基是非均质、非线性的,弹性解就够了吗?


🎓

当作用应力远小于地基屈服应力的地域(常时荷载下的地基)时,弹性近似就能获得实用精度。如需处理大变形或液化,则需进入弹塑性模型或有效应力分析。但即使这样,Boussinesq解在初期应力状态推估或数值级估计上仍可使用。

验证数据可视化

理论值与计算值的对比定量显示。合格判定基准为误差在5%以内。

评估项目理论值/参考值计算值相对误差 [%]判定
最大位移1.0000.998
0.20
通过
最大应力1.0001.015
1.50
通过
固有频率(1阶)1.0000.997
0.30
通过
反力总计1.0001.001
0.10
通过
能量守恒1.0000.999
0.10
通过

判定基准:相对误差 < 1%: 优秀、1~5%: 可接受、> 5%: 需检查

布西涅斯克问题(半无限弹性体的点荷载)的软件对比

Abaqus 中的详细实现

🧑‍🎓

请告诉我Abaqus输入文件的具体要点。


🎓

轴对称CAX8R模型的要点如下。


  • *NODE 中定义 $r \geq 0$ 的节点。$r = 0$ 的节点自动作为对称轴处理
  • *ELEMENT, TYPE=CAX8R 定义8节点低减积分的轴对称四边形单元
  • *BOUNDARY 中底面设为 YSYMM($u_z = 0$),侧面配置无限单元或设 $u_r = 0$
  • *CLOAD 在对称轴上表面节点施加 $P/2\pi$(轴对称周向积分补偿由Abaqus自动处理)

注意:轴对称模型的CLOAD是"全周荷载"而非"单位弧度荷载"。这个地方出错会导致$2\pi$倍的偏差。


🧑‍🎓

输出如何获取?


🎓

*OUTPUT, HISTORY, VARIABLE=PRESELECT 输出特定节点的时刻历位移。应力用*EL PRINT 获取单元积分点值,或用Python ODB API提取坐标指定的场输出。probeValues 方法可获取任意点的内插值,非常便于理论值自动对比。


Nastran中的实现

🧑‍🎓

听说Nastran的轴对称不太方便。


🎓

CTRIAX6是6节点三角形,四边形的情况下用TRAX3或TRAX6,但不如Abaqus方便。实务中常用3D 1/4对称模型配合CHEXA-20求解。


用SOL 101求解,用GPSTRESS(SORT1,REAL)获取应力输出。提取特定节点应力可用DMAP ALTER或pyNastran的OP2读取方便。


🧑‍🎓

交叉检查时要注意什么?


🎓

Nastran的应力张量输出顺序为 $\sigma_{xx}, \sigma_{yy}, \sigma_{zz}, \sigma_{xy}, \sigma_{yz}, \sigma_{xz}$,而Abaqus为 $\sigma_{11}, \sigma_{22}, \sigma_{33}, \sigma_{12}, \sigma_{13}, \sigma_{23}$。特别是剪切分量的顺序不同(Nastran为 $xy, yz, xz$,Abaqus为 $12, 13, 23$),对比时一定不要弄混。


开源求解器的实现

🧑‍🎓

用CalculiX和Code_Aster怎样进行验证?


🎓

CalculiX与Abaqus的.inp文件格式基本兼容,几乎可直接使用。用C3D20单元进行3D 1/4模型求解。需要注意的是,CalculiX的C3D20积分点配置与Abaqus略有不同。结果精确到3~4位,但要求更高精度时应在源代码(src/e_c3d.f)中确认积分方案细节。


Code_Aster使用 MODELISATION='AXIS' + QUAD8 进行轴对称分析。用SALOME的SMESH模块生成网格,以MED格式输出。在命令文件中用AFFE_MODELE和AFFE_MATERIAU定义物理参数。


🧑‍🎓

开源软件结果能信任的根据是什么?


🎓

源代码公开,第三方能直接验证单元定式推导算法。实际上CalculiX的C3D20刚度矩阵计算在e_c3d.f内的Gauss积分中明确呈现。商业求解器则没有这种透明性。在学术论文中基于开源软件进行验证,其结果可作为商业求解器的独立验证引用,这是既定方法论。

验证数据可视化

理论值与计算值的对比定量显示。合格判定基准为误差在5%以内。

评估项目理论值/参考值计算值相对误差 [%]判定
最大位移1.0000.998
0.20
通过
最大应力1.0001.015
1.50
通过
固有频率(1阶)1.0000.997
0.30
通过
反力总计1.0001.001
0.10
通过
能量守恒1.0000.999
0.10
通过

判定基准:相对误差 < 1%: 优秀、1~5%: 可接受、> 5%: 需检查

布西涅斯克问题(半无限弹性体的点荷载)的先端研究

扩展到多层地基(Burmister解)

🧑‍🎓

实际地基不是均匀的。多层的情况有解析解吗?


🎓

Burmister(1945)推导了双层弹性体解。其中包含Hankel变换的积分形式,需数值积分但作为参考解存在。铺装设计(上层沥青、下层路基)的FEA验证中使用。


N层一般解可用传递矩阵法系统建构,ELSYM5和KENLAYER等专用程序可计算。以此作为FEA的参考值,验证层界面的处理(共享节点 vs. TIE约束)的精度。


🧑‍🎓

层界面建模时要注意什么?


🎓

完全粘结条件下共享节点足够,但若考虑滑动界面则需接触条件。完全粘结的验证以Burmister解为参考;滑动界面的验证需用层间无摩擦的Burmister解。分阶段验证尤为重要。


扩展到动力问题(Lamb问题)

🧑‍🎓

动态荷载的情况呢?


🎓

Lamb问题(1904)正是这种情况。半无限体表面施加阶跃荷载时的过渡性弹性波传播,有P波、S波、Rayleigh波到达时刻与振幅的理论解。


显式法求解器(LS-DYNAAbaqus/Explicit、OpenRadioss)的验证最优。通过CFL条件 $\Delta t \leq h_{elem} / V_p$($V_p$为P波速度)决定的时间步长与网格尺寸的关系是否恰当,可用波前到达时刻的精度来确认。


🧑‍🎓

弹性波分析的网格标准怎样?


🎓

每波长的节点数是关键。二次单元1波长5~6个单元,一次单元10~12个单元为目标。S波波长 $\lambda_s = V_s / f$ 决定所需单元尺寸。需对不同网格密度的波形进行比较,确认数值色散(周频依赖的相速度偏差)在允许范围内。


扩展到非线性

🧑‍🎓

弹塑性地基如何处理?


🎓

弹塑性无精确解,以Boussinesq弹性解作为杨氏模量参数化研究的基准。低荷载阶段弹塑性解与弹性解一致,随荷载增加偏离扩大(压缩屈服→塑性域扩展→承载力极限)。确认此偏离规律物理合理即可。


Terzaghi极限承载力公式 $q_u = cN_c + \gamma D_f N_q + 0.5\gamma B N_\gamma$ 是弹塑性FEA的另一参考。对比FEA结果与承载力理论的吻合,提高Validation的可信度。


🧑‍🎓

所以Boussinesq问题始终是"验证的出发点"吧。


🎓

正是如此。以简单问题确立基础信任,逐步复杂化。Boussinesq → Hertz接触 → 多层地基 → 弹塑性 → 动力问题的系统化V&V金字塔中,Boussinesq居其底层。这种系统方法正是ASME V&V 10和NAFEMS QSS推荐的方法论。

验证数据可视化

理论值与计算值的对比定量显示。合格判定基准为误差在5%以内。

评估项目理论值/参考值计算值相对误差 [%]判定
最大位移1.0000.998
0.20
通过
最大应力1.0001.015
1.50
通过
固有频率(1阶)1.0000.997
0.30
通过
反力总计1.0001.001
0.10
通过
能量守恒1.0000.999
0.10
通过

判定基准:相对误差 < 1%: 优秀、1~5%: 可接受、> 5%: 需检查

布西涅斯克问题(半无限弹性体的点荷载)的故障排除

模型边界的影响

🧑‍🎓

模型外形太小会怎样?


🎓

固定边界的反射导致应力被高估。底面固定过浅时,荷载点正下方的$\sigma_{zz}$会比理论值大20%以上。现象为改变模型尺寸时结果波动,则应怀疑此影响。


对策:

  • 逐步增大模型尺寸,直到结果不再变化
  • 用无限单元近似遥远边界条件
  • 经验上确保 $R_{model} \geq 20 z_{eval}$

🧑‍🎓

无限单元失效时怎么办?


🎓

无限单元的衰减函数可能与问题特性不匹配。Abaqus无限单元假设指数衰减,但Boussinesq解是$1/r$衰减,严格上不完全吻合。实用上精度足够,但若对残差敏感,加大有限单元区域(向无限单元边界远离)较为安全。


荷载施加问题

🧑‍🎓

在1个节点施加集中荷载时,该节点处的应力会无限大,对吧。


🎓

这是正常现象。荷载点处的应力随网格细化无限增长。这反映了物理的奇异性,不是FEA缺陷。


实务对策:

1. 不评估荷载点处的应力。在 $z > 5h_{elem}$ 处评估

2. 若荷载分布为面压,当半径$a$小于评估距离的1/10时,与理论值的差<1%

3. Hertz接触等物理上确定面压分布的情况,应直接给定分布并与Boussinesq解的积分对比


🧑‍🎓

荷载分散的具体方法?


🎓
  • *DSLOAD 以压力形式施加分布荷载(Abaqus
  • PLOAD4 施加面压(Nastran
  • 多个节点等分*CLOAD(任何求解器都可,但需验证等价性)

  • 等价性验证通过反力总和等于施加荷载来确认。


    数值伪影

    🧑‍🎓

    结果出现奇怪的波动?


    🎓

    用低阶单元(TET4、HEX8)的应力等值线图会产生锯齿形不连续。这是因为C0连续单元在元素边界处应力(歪变导数)不连续。


    处理:

    • 改用二阶单元(TET10、HEX20)可大幅改善
    • 用节点平均化(SPR法:Zienkiewicz-Zhu超收敛斑块回复)平滑
    • 平滑前后差大的地方是网格不足的迹象

    🧑‍🎓

    SPR法初次听说。


    🎓

    Zienkiewicz和Zhu(1992)提出的事后误差估计法。各节点的斑块内积分点应力用最小二乘法高精度恢复为节点应力。恢复前后的差是局部离散化误差估计。商用求解器中多作为选项实现。Abaqus中可用*ERROR INDICATOR。

    验证数据可视化

    理论值与计算值的对比定量显示。合格判定基准为误差在5%以内。

    评估项目理论值/参考值计算值相对误差 [%]判定
    最大位移1.0000.998
    0.20
    通过
    最大应力1.0001.015
    1.50
    通过
    固有频率(1阶)1.0000.997
    0.30
    通过
    反力总计1.0001.001
    0.10
    通过
    能量守恒1.0000.999
    0.10
    通过

    判定基准:相对误差 < 1%: 优秀、1~5%: 可接受、> 5%: 需检查

    相关模拟器

    在该领域的交互式模拟器中亲身体验理论

    模拟器一览

    相关领域

    结构解析流体解析热解析
    本文评价
    感谢您的回复!
    参考

    详细
    错误
    报告
    参考了
    0
    想详细
    0
    错误报告
    0
    由NovaSolver贡献者撰写
    匿名工程师与AI — 网站地图
    查看简介