感度解析
Theory and Physics
What is Sensitivity Analysis?
Professor, what is sensitivity analysis?
It quantifies how much a small change in a design variable affects the objective function. It provides information to determine the "direction" for optimization.
Methods for Calculating Sensitivity
| Method | Computational Cost | Accuracy |
|---|---|---|
| Finite Difference Method | Number of design variables × FEM runs | Approximate (depends on step size) |
| Analytical Sensitivity (Direct Method) | 1 FEM run + additional calculation | Exact |
| Adjoint Method (Adjoint) | 1 FEM run + 1 adjoint analysis | Exact. Most efficient when there are many design variables |
Is the adjoint method the most efficient?
For cases with tens of thousands of design variables like topology optimization, the adjoint method can obtain sensitivities for all variables with one additional calculation. The finite difference method would require tens of thousands of FEM runs.
Summary
The Adjoint Method for Sensitivity Analysis is from Fox & Kapoor (1968)
The "Adjoint method" used for sensitivity calculation in structural optimization was first formulated by Fox & Kapoor (1968, AIAA) as eigenvalue sensitivity for vibration problems. The revolutionary aspect of the adjoint method is that the computational cost for sensitivity becomes constant (O(1)) regardless of the number of design variables N_d, allowing efficient sensitivity calculation even for problems with thousands of design variables. This characteristic supports the practical implementation of modern topology optimization (SIMP method), and internally, all sensitivity calculations in OptiStruct and ABAQUS Topology use the Adjoint method.
Physical Meaning of Each Term
- Inertia Term (Mass Term): $\rho \ddot{u}$, meaning "mass × acceleration". Have you ever experienced being thrown forward when slamming on the brakes? That "feeling of being pulled" is precisely the inertial force. Heavier objects are harder to set in motion and harder to stop once moving. Buildings shake during earthquakes because the ground moves suddenly while the building's mass "gets left behind". In static analysis, this term is set to zero, assuming "acceleration can be ignored because forces are applied slowly". It absolutely cannot be omitted for impact loads or vibration problems.
- Stiffness Term (Elastic Restoring Force): $Ku$ or $\nabla \cdot \sigma$. When you pull a spring, you feel a "force trying to return", right? That's Hooke's law $F=kx$, the essence of the stiffness term. Now a question—if you pull an iron rod and a rubber band with the same force, which stretches more? Obviously the rubber. This "resistance to stretching" is the Young's modulus $E$, which determines stiffness. A common misconception: "High stiffness = strong" is incorrect. Stiffness is "resistance to deformation", strength is "resistance to failure"—different concepts.
- External Force Term (Load Term): Body force $f_b$ (gravity, etc.) and surface force $f_s$ (pressure, contact force, etc.). Think of it this way—the weight of a truck on a bridge is a "force acting on the entire volume" (body force), while the force of the tires pushing on the road surface is a "force acting only on the surface" (surface force). Wind pressure, water pressure, bolt tightening force... all are external forces. A typical mistake here: getting the load direction wrong. Intending "tension" but it becomes "compression"—sounds like a joke, but it actually happens when coordinate systems are rotated in 3D space.
- Damping Term: Rayleigh damping $C\dot{u} = (\alpha M + \beta K)\dot{u}$. Try plucking a guitar string. Does the sound continue forever? No, it gradually fades. That's because vibration energy is converted to heat by air resistance and internal friction in the string. Car shock absorbers work on the same principle—they intentionally absorb vibration energy to improve ride comfort. What if damping were zero? Buildings would keep shaking forever after an earthquake. Since that doesn't happen in reality, setting appropriate damping is crucial.
Assumptions and Applicability Limits
- Continuum assumption: Treats material as a continuous medium, ignoring microscopic heterogeneity
- Small deformation assumption (for linear analysis): Deformation is sufficiently small compared to initial dimensions, stress-strain relationship is linear
- Isotropic material (unless specified otherwise): Material properties are independent of direction (anisotropic materials require separate tensor definition)
- Quasi-static assumption (for static analysis): Ignores inertial and damping forces, considers only equilibrium between external and internal forces
- Non-applicable cases: For large deformation/large rotation problems, geometric nonlinearity is required. For nonlinear material behavior like plasticity or creep, constitutive law extension is needed
Dimensional Analysis and Unit Systems
| Variable | SI Unit | Notes / Conversion Memo |
|---|---|---|
| Displacement $u$ | m (meter) | When inputting in mm, unify loads and elastic modulus to MPa/N system |
| Stress $\sigma$ | Pa (Pascal) = N/m² | MPa = 10⁶ Pa. Be careful of unit inconsistency when comparing with yield stress |
| Strain $\varepsilon$ | Dimensionless (m/m) | Note the distinction between engineering strain and logarithmic strain (for large deformation) |
| Elastic modulus $E$ | Pa | Steel: ~210 GPa, Aluminum: ~70 GPa. Note temperature dependence |
| Density $\rho$ | kg/m³ | In mm system: tonne/mm³ (= 10⁻⁹ tonne/mm³ for steel) |
| Force $F$ | N (Newton) | Unify as N in mm system, N in m system |
Numerical Methods and Implementation
FEM for Sensitivity Analysis
Summary
Automatic Differentiation (AD) Drastically Reduced Implementation Cost for Sensitivity Analysis
Manually deriving sensitivities (gradients) for complex CAE codes involves enormous cost, so "Automatic Differentiation (AD)" has been in practical use since the 1990s. AD analyzes the computational graph of source code to automate the application of the chain rule numerically. Forward mode is suitable for sensitivity calculation per design variable, while reverse mode (Backpropagation) is suitable for calculating sensitivities of all variables per objective function. The automatic differentiation engines in TensorFlow and PyTorch use the same technology as neural network learning and are also utilized in CAE optimization frameworks like OPENMDAO (NASA).
Linear Elements (1st Order Elements)
Linear interpolation between nodes. Computational cost is low, but stress accuracy is low. Beware of shear locking (mitigated by reduced integration or B-bar method).
Quadratic Elements (with Mid-side Nodes)
Can represent curved deformation. Stress accuracy improves significantly, but degrees of freedom increase by about 2-3 times. Recommended: when stress evaluation is important.
Full Integration vs Reduced Integration
Full Integration: Risk of over-constraint (locking). Reduced Integration: Risk of hourglass mode (zero-energy mode). Choose appropriately for the situation.
Adaptive Mesh
Automatic refinement based on error indicators (e.g., ZZ estimator). Efficiently improves accuracy in stress concentration areas. Includes h-method (element subdivision) and p-method (order increase).
Newton-Raphson Method
Standard method for nonlinear analysis. Updates tangent stiffness matrix each iteration. Shows quadratic convergence within convergence radius, but computational cost is high.
Modified Newton-Raphson Method
Updates tangent stiffness matrix with initial value or every few iterations. Cost per iteration is low, but convergence speed is linear.
Convergence Criteria
Force residual norm: $||R|| / ||F_{ext}|| < \epsilon$ (typically $\epsilon = 10^{-3}$ to $10^{-6}$). Displacement increment norm: $||\Delta u|| / ||u|| < \epsilon$. Energy norm: $\Delta u \cdot R < \epsilon$
Load Increment Method
Does not apply full load at once, but increases in small increments. The arc-length method (Riks method) can trace beyond extremum points in load-displacement relationships.
Analogy: Direct Method vs Iterative Method
The direct method is like "solving simultaneous equations accurately with pen and paper"—reliable but takes too long for large-scale problems. The iterative method is like "repeatedly guessing to approach the correct answer"—starts with a rough answer but accuracy improves with each iteration. It's the same principle as looking up a word in a dictionary: it's more efficient to estimate where to open and adjust forward/backward (iterative method) than to search sequentially from the first page (direct method).
Relationship Between Mesh Order and Accuracy
1st order elements are like "approximating a curve with a ruler"—represented by straight line segments, so accuracy has limits. 2nd order elements are like a "flexible curve"—can represent curved changes, dramatically improving accuracy even at the same mesh density. However, computational cost per element increases, so judge based on total cost-effectiveness.
Practical Guide
Sensitivity Analysis in Practice
Check sensitivities as a preliminary step to optimization. Identify which design variables most affect the objective function.
Practical Checklist
Quantify Which Design Variables are Important with Sobol' Indices
In sensitivity analysis practice, identifying "which design variables most affect the objective function" is important, and the variance-based global sensitivity measure "Sobol' indices" has become a standard tool. Proposed by Ilya Sobol' (Russian Academy of Sciences) in 1993, this method decomposes each design variable's contribution rate into 1st order and 2nd order (interaction) components. In Toyota's engine fuel efficiency optimization, Sobol' analysis of 10 variables (compression ratio, ignition timing, injection amount, etc.) was conducted, confirming that 65% of total variation originated from the compression ratio alone, enabling efficient optimization.
Analogy: Analysis Flow
The analysis flow is actually very similar to cooking. First, buy ingredients (prepare CAD model), do prep work (mesh generation), apply heat (solver execution), and finally plate it (post-processing visualization). Here's an important question—in cooking, which step is most prone to failure? Actually, it's the "prep work". If mesh quality is poor, results will be a mess no matter how excellent the solver is.
Common Pitfalls for Beginners
Are you checking mesh convergence? Do you think "the calculation ran = the result is correct"? This is actually the most common trap for CAE beginners. The solver will always return "some answer" for the given mesh. But if the mesh is too coarse, that answer will be far from reality. Confirm that results stabilize across at least three mesh density levels—neglecting this leads to the dangerous assumption that "the computer gave the answer, so it must be correct".
Thinking About Boundary Conditions
Setting boundary conditions is the same as "writing the problem statement" for an exam. If the problem statement is wrong? No matter how accurately you calculate, the answer will be wrong. "Is this surface truly fully fixed?" "Is this load truly uniformly distributed?"—Correctly modeling real-world constraints is actually the most important step in the entire analysis.
Software Comparison
Tools
OpenMDAO was Open-Sourced by NASA in the 2010s
OpenMDAO (Open Multidisciplinary Design, Analysis, and Optimization) is an MDO (Multidisciplinary Design Optimization) framework developed by NASA Ames Research Center in the 2010s and released as open source. It provides adjoint method, automatic differentiation, and complex-step differentiation through a unified API and is widely adopted as a design optimization education tool in major aerospace engineering departments at MIT, Stanford, TUDelft, etc. Boeing disclosed at the 2017 AIAA SciTech Forum that they utilized OpenMDAO for wing shape optimization of the 737 MAX.
The Three Most Important Questions for Selection
- "What are you solving?": Does it support the physical models and element types needed for sensitivity analysis? For example, presence of LES support for fluids, contact/large deformation capability for structures makes a difference.
- "Who will use it?": For beginner teams, tools with rich GUI are suitable; for experienced users, flexible script-driven tools are better. In the automotive industry, A
Related Topics
なった
詳しく
報告