SolidMechanicsStress[vars,pars,strain]
固体力学内部応力を,変数 vars,パラメータ pars,全歪み strain で与える.
SolidMechanicsStress[vars,pars,strain,displacement]
非線形材料規則に対する固体力学応力を与える.
SolidMechanicsStress
SolidMechanicsStress[vars,pars,strain]
固体力学内部応力を,変数 vars,パラメータ pars,全歪み strain で与える.
SolidMechanicsStress[vars,pars,strain,displacement]
非線形材料規則に対する固体力学応力を与える.
詳細
- SolidMechanicsStressは,与えられた全歪みに対する力学応力を,変位の従属変数
,
,
(単位:
),独立変数
(単位:
),時間変数
(単位:
)で返す. - 応力は断面積あたりの抵抗力
である. - 応力の単位は
である. - SolidMechanicsStressはSolidMechanicsPDEComponentと同じ変数 vars 指定を使う.
- SolidMechanicsStressはSolidMechanicsPDEComponentと同じパラメータpars s指定を使う.
- SymmetrizedArrayは strain を指定する.
- 通常,strain はSolidMechanicsStrainの結果である.
- 弾性材料については,SolidMechanicsStressは弾性歪み
を使って応力を計算する. - SolidMechanicsStressは熱歪みまたは初期歪みのような非弾性歪み
を与えられた全歪み
から引く. - SolidMechanicsStressは応力のSymmetrizedArrayを以下の形式で返す.
は垂直応力を,
はせん断応力を表す.- コーシー応力は計算されるデフォルトの出力応力である.
- "OutputStressMeasure"を指定することで以下の応力が計算できる.
-
"FirstPiolaKirchhoff" 第1Piola-Kirchhoff応力 "SecondPiolaKirchhoff" 第2Piola-Kirchhoff応力 "Cauchy" コーシー応力 "Kirchhoff" Kirchhoff応力 - SolidMechanicsStressは,内部応力
を計算する. - 初期応力
は,SolidMechanicsPDEComponentについて"InitialStress"パラメータで指定できる. - SolidMechanicsStressは,非線形の材料については,全歪みと変位を使って応力を計算する.
例題
すべて開く すべて閉じる例 (1)
SolidMechanicsStress[{{u[x, y, z], v[x, y, z], w[x, y, z]}, {x, y, z}}, <|"YoungModulus" -> , "PoissonRatio" -> |>, SymmetrizedArray[{{1, 3} -> -y α + w^(1, 0)[x, y], {2, 3} -> x α + w^(0, 1)[x, y]}, {3, 3}, Symmetric[{1, 2}]]]MatrixForm[%]スコープ (5)
定常解析 (1)
端が固定され先端に力が加わったスプーンの変位を計算する.変数とパラメータを設定する:
vars = {{u[x, y, z], v[x, y, z], w[x, y, z]}, {x, y, z}};
pars = <|"Material" -> ["Silver"]|>;spoon = \!\(\*Graphics3DBox[«8»]\);
displacement = NDSolveValue[{SolidMechanicsPDEComponent[vars, pars] == SolidBoundaryLoadValue[x >= 1 / 10, vars, pars, <|"Force" -> {0, 0, Quantity[-100, "Newtons"]}|>],
SolidFixedCondition[x <= -1 / 10, vars, pars]}, {u, v, w}, {x, y, z}∈spoon];strains = SolidMechanicsStrain[vars, pars, displacement]stresses = SolidMechanicsStress[vars, pars, strains]SliceContourPlot3D[stresses[[3, 3]], spoon, {x, y, z}∈spoon, ...]定常平面応力解析 (1)
平面応力のケースを拡張モデルとして計算する.こうすると,面外歪みが計算でき,面外応力が0であることが検証できる. 左端が肯定され右側が強制的に変位された矩形の鋼板がある.領域,変数,パラメータを設定する.変数には3方向すべてが含まれている:
Ω = Rectangle[{0, 0}, {40 * 10 ^ -3, 30 * 10 ^ -3}];
vars = {{u[x, y], v[x, y], w[x, y]}, {x, y, z}};
pars = <|"SolidMechanicsModelForm" -> "ExtendedPlaneStress", "YoungModulus" -> 200 * 10 ^ 9, "PoissonRatio" -> 0.3, "Thickness" -> 10 ^ -4|>;displacement = NDSolveValue[{SolidMechanicsPDEComponent[vars, pars] == {0, 0}, SolidDisplacementCondition[x == 0, vars, pars, <|"Displacement" -> {0, 0}|>], SolidDisplacementCondition[x == 40 * 10 ^ -3, vars, pars, <|"Displacement" -> {-40 / 10 ^ 6, 0}|>]}, {u[x, y], v[x, y], w[x, y]}, {x, y}∈Ω]変位のリストには3つの出力変数が含まれるようになった.主変数についての変位を可視化する:
VectorDisplacementPlot[displacement[[1 ;; 2]], {x, y}∈Ω, Rule[...]]strain = SolidMechanicsStrain[vars, pars, displacement]ContourPlot[strain[[3, 3]], {x, y}∈Ω, PlotRange -> All, PlotLegends -> Automatic]stress = SolidMechanicsStress[vars, pars, strain]stress[[3, 3]]定常平面歪み解析 (1)
平面歪みのケースを拡張モデルとして計算する.こうすることで,面外応力が計算でき,面外歪みが0であることが検証できる.領域,変数,パラメータを設定する.変数には3方向すべてが含まれる:
Ω = Rectangle[];
pars = <|"SolidMechanicsModelForm" -> "ExtendedPlaneStrain", "YoungModulus" -> 30 * 10 ^ 3, "PoissonRatio" -> 3 / 10, "Thickness" -> 1|>;
vars = {{u[x, y], v[x, y], 0}, {x, y, z}};op = SolidMechanicsPDEComponent[vars, pars]pde = {op == {0, 0}, SolidFixedCondition[x == 0, vars, pars], SolidDisplacementCondition[x == 1, vars, pars, <|"Displacement" -> {0.1, None}|>]};displacement = NDSolveValue[pde, {u[x, y], v[x, y], 0}, {x, y}∈Ω]strain = SolidMechanicsStrain[vars, pars, displacement]strain[[3, 3]]stress = SolidMechanicsStress[vars, pars, strain]ContourPlot[stress[[3, 3]], {x, y}∈Ω, PlotRange -> All, PlotLegends -> Automatic]定常超弾性平面応力分析 (1)
左側が固定され右側に力が加えられた矩形のゴム板の変位を計算する.領域,変数,パラメータを設定する:
Ω = Rectangle[{0, 0}, {1, 1}];
vars = {{u[x, y], v[x, y]}, {x, y}};
pars = <|"SolidMechanicsMaterialModel" -> "NeoHookeanIsotropic", "LameParameter" -> 10 ^ 6, "ShearModulus" -> 5000, "SolidMechanicsModelForm" -> "PlaneStress", "Thickness" -> 0.01|>;displacement = NDSolveValue[
{SolidMechanicsPDEComponent[vars, pars] == SolidBoundaryLoadValue[x == 1, vars, pars, <|"Force" -> {Quantity[300, "Newtons"], 0}|>], SolidFixedCondition[x == 0, vars, pars]}, {u[x, y], v[x, y]}, {x, y}∈Ω];VectorDisplacementPlot[displacement, {x, y}∈Rectangle[{0, 0}, {1, 1}], ...]strains = SolidMechanicsStrain[vars, pars, displacement]stresses = SolidMechanicsStress[vars, pars, strains, displacement]ContourPlot[stresses[[1, 1]], {x, y}∈Ω, PlotRange -> All]出力応力 (1)
計算されるデフォルトの応力はコーシー(Cauchy)応力である.代りにキルヒホフ(Kirchhoff)応力を計算する:
vars = {{u[x, y], v[x, y]}, {x, y}};
pars = <|"SolidMechanicsMaterialModel" -> "NeoHookeanIsotropic", "LameParameter" -> 10, "ShearModulus" -> 5, "Thickness" -> 1|>;
displacement = NDSolveValue[{SolidMechanicsPDEComponent[vars, pars] == SolidBoundaryLoadValue[x == 1, vars, pars, <|"Force" -> {10, 0}|>], SolidFixedCondition[x == 0, vars, pars]}, {u[x, y], v[x, y]}, {x, y}∈Rectangle[{0, 0}, {1, 1}]]strain = SolidMechanicsStrain[vars, pars, displacement]SolidMechanicsStress[vars, Join[pars, <|"OutputStressMeasure" -> "Kirchhoff"|>], strain, displacement]考えられる問題 (1)
軸対称の場合は,転移が空間座標の関数であることが重要である.その理由を説明するために,変数,パラメータ,空間の関数ではない転移関数を作成する:
vars = {{u[r, z], w[r, z]}, {r, z}};
pars = <|"RegionSymmetry" -> "Axisymmetric", "YoungModulus" -> 1, "PoissonRatio" -> 1 / 3|>;
usol = wsol = FunctionInterpolation[0, {r, 0, 1}, {z, 0, 1}]生成されたInterpolatingFunctionは空間座標
および
の関数ではない点に注意のこと.この状態で歪みと応力を計算すると,応力テンソルにやはり空間座標を持たない何らかの補間関数が現れる:
strain = SolidMechanicsStrain[vars, pars, {usol, wsol}];
SolidMechanicsStress[vars, pars, strain, {usol, wsol}][[1, 1]]これは,軸対称の場合の式では,歪みの
成分が
として計算されるためである.ここで,
は最初の従属変数,
は円筒座標系の半径方向である.導出は軸対称モデルのセクションで説明されている.歪みから応力が計算されるとき,
の値は最初に指定された変位関数 (この場合は usol) から取得される.その関数が独立変数
と
に依存しない場合,それらは出力に表示されない.
これを避けるためには,変位に空間座標
と
を使う必要がある:
usol = wsol = FunctionInterpolation[0, {r, 0, 1}, {z, 0, 1}][r, z]これで,応力テンソルのすべてのInterpolatingFunction成分が空間座標を利用するようになった:
strain = SolidMechanicsStrain[vars, pars, {usol, wsol}];
SolidMechanicsStress[vars, pars, strain, {usol, wsol}][[1, 1]]テクニカルノート
-
▪
- 固体力学 ▪
- 超弾性 ▪
- 固体力学モデル検証テスト
関連するガイド
テキスト
Wolfram Research (2021), SolidMechanicsStress, Wolfram言語関数, https://reference.wolfram.com/language/ref/SolidMechanicsStress.html (2025年に更新).
CMS
Wolfram Language. 2021. "SolidMechanicsStress." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2025. https://reference.wolfram.com/language/ref/SolidMechanicsStress.html.
APA
Wolfram Language. (2021). SolidMechanicsStress. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/SolidMechanicsStress.html
BibTeX
@misc{reference.wolfram_2026_solidmechanicsstress, author="Wolfram Research", title="{SolidMechanicsStress}", year="2025", howpublished="\url{https://reference.wolfram.com/language/ref/SolidMechanicsStress.html}", note=[Accessed: 29-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_solidmechanicsstress, organization={Wolfram Research}, title={SolidMechanicsStress}, year={2025}, url={https://reference.wolfram.com/language/ref/SolidMechanicsStress.html}, note=[Accessed: 29-September-2026]}