Repository navigation
Conversation
This was referenced Oct 16, 2026
petlenz
force-pushed
the
feature/short-fibre-composite
branch
from
October 16, 2026 23:43
1171b6f to
2e38cdd
Compare
petlenz
force-pushed
the
feature/incremental-elasticity
branch
from
October 16, 2026 23:43
6579831 to
69465a8
Compare
Member
Author
|
Review findings (design, tmech expressions instead of component loops, modern C++, comments, tests, correctness). Severity: must = wrong result, hang, build break or unreachable feature; should = design, duplication, accuracy; nit = style. incremental_linear_elasticity — needs changes (small)
|
petlenz
force-pushed
the
feature/short-fibre-composite
branch
from
October 17, 2026 14:09
2e38cdd to
3805b49
Compare
petlenz
force-pushed
the
feature/incremental-elasticity
branch
2 times, most recently
from
October 17, 2026 14:31
865a597 to
ab93cbb
Compare
petlenz
force-pushed
the
feature/short-fibre-composite
branch
from
October 17, 2026 15:48
3805b49 to
7208e62
Compare
petlenz
force-pushed
the
feature/incremental-elasticity
branch
from
October 17, 2026 15:48
ab93cbb to
0f0130a
Compare
petlenz
force-pushed
the
feature/short-fibre-composite
branch
from
October 17, 2026 16:48
7208e62 to
90289e1
Compare
petlenz
force-pushed
the
feature/incremental-elasticity
branch
from
October 17, 2026 16:48
0f0130a to
b110fb5
Compare
petlenz
force-pushed
the
feature/short-fibre-composite
branch
from
October 17, 2026 21:19
90289e1 to
f444ebe
Compare
petlenz
force-pushed
the
feature/incremental-elasticity
branch
from
October 17, 2026 21:26
b110fb5 to
5e03c07
Compare
petlenz
force-pushed
the
feature/short-fibre-composite
branch
from
October 17, 2026 22:46
f444ebe to
ef6e567
Compare
petlenz
force-pushed
the
feature/incremental-elasticity
branch
from
October 17, 2026 22:46
5e03c07 to
40a9c01
Compare
petlenz
force-pushed
the
feature/short-fibre-composite
branch
2 times, most recently
from
October 18, 2026 12:02
5b014b8 to
7058b57
Compare
petlenz
force-pushed
the
feature/incremental-elasticity
branch
from
October 18, 2026 12:13
40a9c01 to
78698ad
Compare
petlenz
force-pushed
the
feature/short-fibre-composite
branch
from
October 18, 2026 13:38
7058b57 to
557b163
Compare
petlenz
force-pushed
the
feature/incremental-elasticity
branch
from
October 18, 2026 13:38
78698ad to
3a67d63
Compare
petlenz
force-pushed
the
feature/short-fibre-composite
branch
from
October 18, 2026 20:03
557b163 to
40204f6
Compare
petlenz
force-pushed
the
feature/incremental-elasticity
branch
from
October 18, 2026 20:03
3a67d63 to
81931b5
Compare
petlenz
force-pushed
the
feature/short-fibre-composite
branch
from
October 18, 2026 20:22
40204f6 to
d65215c
Compare
petlenz
force-pushed
the
feature/incremental-elasticity
branch
from
October 18, 2026 20:22
81931b5 to
9bb4ac2
Compare
…history
sigma_{n+1} = sigma_n + C : (eps_{n+1} - eps_n) with the tangent read from
another material, for path-dependent tangents. Report: equals the total
form on every path, a closed path returns to zero, exact for any step.
Drivers: the convergence test also scales with |C| |d eps| (|A| |dF|), so
a hypoelastic stress crossing zero under stress control converges.
petlenz
force-pushed
the
feature/short-fibre-composite
branch
from
October 19, 2026 04:06
d65215c to
02524f8
Compare
petlenz
force-pushed
the
feature/incremental-elasticity
branch
from
October 19, 2026 04:06
9bb4ac2 to
108389e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #111. Part of the uvwmaterial port (#94); stacked on #133.
materials/incremental_linear_elasticity.h(incremental_linear_elasticity): σₙ₊₁ = σₙ + C : (εₙ₊₁ − εₙ) withstressas a history property and the tangent read fromtangent_source(any material providing one), so a tangent that changes along the path — cure, damage, the linear-comparison composites to come — integrates incrementally. Outputsstress,tangent. Replacesincremental_linear_elasticityandincremental_solid_material; the finite-strainincremental_saint_venant_kirchhoffis left for the Hencky/finite-strain items.Driver fix found by the report: under stress control the stress passes exactly through zero at a load reversal, and the hypoelastic sum leaves 1e-13 of round-off there; the drivers' purely relative criterion (|P:(σ − σ*)| ≤ tol·max(|σ|, |P:σ*|)) could then never be met. Both drivers now also scale with the step's own stress scale, |C|·|ε − εₙ| (|A|·|F − Fₙ| at finite strain). Covered by
UniaxialStressCycleThroughZeroConverges.Tests (
test_incremental_elasticity, 4): equals the total form at every step of a load–unload path with shear and closes the cycle, with one history tensor in STATEV; the uniaxial-stress cycle through zero converges; a repeated trial from the same state does not accumulate; creation from JSON.Report
docs/materials/incremental_linear_elasticity/report.json: the standard cases plus a closed tension–shear–unload path; checks: equalslinear_elasticityon every path, E under uniaxial stress, zero stress after the closed path; a step-size study showing the update exact for any step with a constant tangent.754/754 tests pass (GCC 14, reports on).
JSON input
New material types:
incremental_linear_elasticity. Ajson_modeldocument that loads (theFromJsontest of the PR):{"materials": [ {"type": "external_strain_source", "name": "strain"}, {"type": "linear_elasticity", "name": "total", "strain_producer_name": "strain", "K": 100.0, "G": 40.0}, {"type": "incremental_linear_elasticity", "name": "inc", "strain_source": "strain", "tangent_source": "total"} ]}tangent_sourceis any producer of atangent(here a constant one; a cure- or damage-dependent stiffness is the point of the material); outputsstress(history) andtangent.