How To: Thermoelasticity

Thermoelasticity simulations analyze the structural response of a component under thermal loading. This requires two JSON scenario files that work together:

  1. A Static Thermal scenario that calculates the temperature field

  2. A ThermoLinearElasticity scenario that uses the thermal results to calculate thermal strain and stress

Workflow

To run a thermoelastic simulation:

intact -s thermoelastic_scenario.json

The CLI will automatically solve the thermal scenario first, then use those results in the structural analysis.

Required Files

1. Static Thermal Scenario

The thermal scenario must have:

  • "type": "StaticThermal"

  • A Thermal material with expansion_coefficient defined

  • environment_temperature in the metadata

  • Thermal boundary conditions (Fixed Temperature, Convection, Constant Flux)

Example: thermal_scenario.json

{
  "type": "StaticThermal",
  "scenario_name": "thermal_analysis",
  "geometry": { },
  "materials": {
    "material_name": {
      "type": "Thermal",
      "density": 8000.0,
      "specific_heat": 0.122,
      "thermal_conductivity": 43.0,
      "expansion_coefficient": 0.000012
    }
  },
  "boundary_conditions": [ ],
  "internal_conditions": [ ],
  "metadata": {
    "resolution": 10000,
    "environment_temperature": 273.15
  }
}

2. ThermoLinearElasticity Scenario

The structural scenario must have:

  • "type": "ThermoLinearElasticity"

  • "thermal_scenario" pointing to the thermal JSON file

  • An Isotropic or Orthotropic material (not Thermal type) with the same properties

  • Structural boundary conditions (Fixed, Fixed Vector, Sliding, loads, etc.)

Example: thermoelastic_scenario.json

{
  "type": "ThermoLinearElasticity",
  "scenario_name": "thermoelastic_analysis",
  "thermal_scenario": "thermal_scenario.json",
  "geometry": { },
  "materials": {
    "material_name": {
      "type": "Isotropic",
      "density": 8000.0,
      "youngs_modulus": 2.1e11,
      "poisson_ratio": 0.3,
      "yield_strength": 250000000.0
    }
  },
  "boundary_conditions": [ ],
  "internal_conditions": [ ],
  "metadata": {
    "resolution": 10000
  }
}

Key Points

  • Same Geometry: Both scenarios must use the same geometry file and component structure.

  • Material Types:

    • Thermal scenario uses a "Thermal" material

    • Structural scenario uses an "Isotropic" or "Orthotropic" material

  • Resolution: For best results, use the same resolution or cell_size in both scenarios to ensure the thermal field is defined everywhere the stress simulation will be performed.

  • Boundary Conditions:

    • Thermal scenario uses thermal BCs

    • Structural scenario uses structural BCs

  • Output: The result will contain both the temperature field and the displacement, strain, and stress fields from the structural analysis.