Skip to content
SHD Sim
Menu

Validation/Steady conduction

Steady conduction through a plane wall

A steel wall driven by an imposed flux and by a convective film, against the closed form. The answer is linear and therefore inside the element space, so this pins coefficients and sign conventions rather than spatial accuracy — and says so.

VerificationDriven face 344.444 K against an exact 344.444444 K, on both meshes

Why this case

Before this case the thermal solver family had never been held against a closed-form answer of any kind. Every check it had was of the form “did the run reach End”.

Steady conduction through a plane wall is the smallest problem that fixes that. One face is held at a known temperature, the other is driven, and the temperature the driven face settles at is arithmetic a reader can do on paper. There is no correlation to transcribe and nothing to argue about.

It is worth being blunt about what such a case can and cannot measure, because the agreement below is six figures and six figures is easy to over-read. The exact answer here is linear in the coordinate through the wall, and a linear field lies inside the finite-element space of even first-order tetrahedra. Any correct implementation therefore reproduces it to round-off, on the coarsest mesh it can build. This case measures coefficients and conventions, not spatial accuracy. Those are the things that are wrong in practice, and they are wrong by tens of kelvin rather than by fractions of a per cent.

PhysicsSteady linear conduction, one-dimensional by construction
Backendcode_aster 18.0.12, meshed by Netgen
WallSteel slab 0.1 m thick, λ = 45 W/m·K
Fixed faceHeld at 300 K
SidesNo condition at all — code_aster’s natural zero-flux, so the problem really is 1-D
Case 1Imposed flux of 20 000 W/m² into the far face
Case 2Convective film, h = 50 W/m²·K to an 800 K ambient
MeshesTwo: the 19-tetrahedron default, and maxh 0.004 at 2 136 tetrahedra
ReferenceThe closed-form solution of the steady one-dimensional heat equation, with the series-resistance form for a convective film
AgreementDriven face 344.444 K against an exact 344.444444 K on the flux case, and 350.0000 K against an exact 350.0000 K on the film case

The exact solution

With no source and constant conductivity the steady heat equation in one dimension is T″ = 0, so the profile is a straight line between the two faces and the whole problem is the size of its slope. For an imposed flux q into the far face of a wall of thickness L whose near face is held at T₀,

Case 1 — imposed flux

    T_hot = T0 + q L / lambda
          = 300 + 20000 x 0.1 / 45
          = 344.444444 K

The convective case adds a second resistance in series with the wall. The film carries the heat from an 800 K ambient into the outer face, the wall carries it on to the fixed face, and the same q passes through both:

Case 2 — convective film

    q      = (T_ext - T0) / (L/lambda + 1/h)
           = (800 - 300) / (0.1/45 + 1/50)
           = 22 500 W/m^2

    T_surf = T_ext - q/h      = 800 - 22500/50 = 350.0000 K
    T_hot  = T0 + q L/lambda  = 300 + 50       = 350.0000 K

The two lines agree, which is the statement that the outer face of the wall and the inner face of the film are the same surface. That is the check with teeth in case 2: at h = 50 W/m²·K over 0.1 m of steel the film carries 1/h ÷ (L/λ + 1/h) = 90 % of the total resistance, so getting the wall right and the film wrong still produces a plausible-looking number in the low three hundreds. 350.0000 K is only correct if both terms are.

Result

Driven-face temperature against the closed form, on two meshes and in two cases
CaseMeshTetrahedraDriven face (K)Exact (K)Difference
Imposed fluxdefault19344.444344.444444−1.3 × 10⁻⁴ %
Imposed fluxmaxh 0.0042 136344.444344.444444−1.3 × 10⁻⁴ %
Convective filmdefault19350.0000350.00000 %
Convective filmmaxh 0.0042 136350.0000350.00000 %
Driven-face and exact columns are the fixture’s own numbers; the difference column is those two against each other. The flux figure is recorded to three decimal places, which is where the −0.000444 K sits.

The fixed face reads 300.0000 K in all four runs, which is what was imposed. The measurement band on this case is a tenth of a per cent, and that is not a generous tolerance dressed up as a tight one: because the answer is inside the element space, a tenth of a per cent here would not be mesh noise. It would be a different calculation.

The sign convention, checked separately

A heat flux carries a sign convention, and the two solver families in this product do not share one. The structural pressure load is positive out of the body; code_aster’s thermal flux keyword is positive into it. Getting that backwards is not a small error — it puts the driven face below the fixed one, which is a large error in the one direction nobody looks.

So it is asserted on its own rather than left to the magnitude test, because an inverted flux does not necessarily fail a magnitude test: it can land the same distance from the exact answer on the wrong side of the fixed face. The condition checked is simply that the driven face came out hotter than the fixed one.

What an inverted flux convention produces, from the fixture kept for it
ConfigurationDriven face (K)Exact (K)Difference
As written344.444344.444444−1.3 × 10⁻⁴ %
Flux sign inverted255.555556344.444444−88.889 K
The inverted row is a stored fixture — the shape of the failure the check exists to catch, not a defect found in the product. It is the imposed 44.444 K rise applied the other way.

Why not two fixed temperatures

The obvious version of this case — hold both faces at known temperatures and check the profile between them — cannot be read from what the product writes. The steady thermal deck’s summary is the minimum and the maximum temperature in the body. With two imposed temperatures those are the two numbers imposed, and the check would amount to confirming that code_aster can apply a boundary condition.

Driving one face with a flux or a film instead makes the other face’s temperature an answer rather than an input, and the extrema the product already reports then carry it. That is why the case is shaped this way, and it is why nothing here has to go behind the product and open the result file itself.

What this page does not establish

  • No convergence order is measured, and none can be. The case whose answer is not in the element space is the transient one, where the profile is a decaying sine that no polynomial element reproduces exactly. That is a separate page.
  • Only two boundary condition types are exercised. An imposed flux and a convective film. Radiation, contact resistance and temperature-dependent conductivity are all absent, and a linear reference could not check any of them.
  • The conductivity is constant and the body is a single material. Nothing here says anything about conduction across an interface between two of them.
  • Nothing transient is established. Every run on this page is a single steady solve, and the time integration is not exercised at all.

Repeat this yourself

Every case here is set up from the worked examples in the product, with no hand-editing of solver files — so you can run it, and get the same numbers. The free tier runs real cases up to 250,000 cells of fluids, or 100,000 nodes of solid, with no account needed to download and no time limit.

All validation cases · Written by the team building SHD Sim.