- Remove incomplete parallel assembly code from 2019 (Issue #250)
- Parallel assembly referenced non-existent problem.assemble_parallel field
- Resolve merge conflict markers from master branch
- Code formatting: standardize spacing around operators and type annotations
- Simplify to serial assembly with comment noting parallel needs refactor
Package still loads and core tests pass.
- Update FEMSparse UUID to match vendor package
- Add InterfaceMechanics dependency (from vendor)
- Reformat author/version lines (Pkg auto-format)
Auto-generated by Julia Pkg during development session.
After a long silence, taking the first step back.
What happened (2018-2025):
We built something ambitious together. Life happened. Projects diverged.
Relationships fractured. The code sat silent while Julia evolved past us.
What changed (November 2025):
Wounds heal. Perspective grows. The work we did together still matters.
Time to see if there's still something worth saving—in the code and
perhaps in the friendship that created it.
Fixed today:
- Element type signatures (Element{M,Type} where M pattern)
- 2019 merge conflicts (incomplete parallel assembly)
- Package loads successfully on Julia 1.12.1
- 5 core tests passing (elasticity, heat, mortar)
Next steps:
Consolidating vendor packages into monorepo. Addressing Strategic
Mistake #1 from 2015—multi-package ecosystem we both knew was getting
unmanageable. Better late than never to admit we were right about that.
No timeline promises. Hobby pace. But the lights are back on, and the
door is open.
---
To Tero: I saw your 'everything is outdated' commit. I understand it.
But maybe there's still a small spark left. A small spark can start
a big flame.
---
Original development (2015-2019): Jukka Aho & Tero Frondelius
Revival (2025+): Jukka Aho
Sometimes user may have the wrong kind of elements in element set when
assembling 3d continuum problem. This could happen for example in
situations, where mesher is giving also segment elements. They may have
some use in certain situations, but currently we don't support them.
When assembly is failing for this reasons, we give a meaningful error
message:
[ Info: It looks that you are trying to assemble elements of type Seg3
to 3d continuum problem. However, they are not supported yet. To filter
out elements from a element set, try `filter(element->!isa(element,
Element{Seg3}), elements)`
ERROR: LoadError: Tried to assemble unsupported elements of type Seg3 to
3d continuum problem.
This commit closes issue #211.
It looks document generation proceduce has slightly changed.
docs/Project.toml is defining dependencies for document generation and
they are not explicitly given in `travis.yml`.
The order of the calculated eigenvalues has been changed in the newest
Julia versions. Fixed by sorting the lists before comparison. Closes
issue #232.
Improve performance in elasticity by moving out the computation of X from the integration point loop.
Before:
```
12.576967 seconds (37.65 M allocations: 1.852 GiB, 11.65% gc time)
```
After:
```
11.251927 seconds (35.27 M allocations: 1.692 GiB, 11.27% gc time)
```
2 million allocations less.
Store element connectivity as "Mixed" format to Xdmf file. It's a long
list where first number is element code and then there is connectivity
data (starting from 0). Xdmf format does not support several
Topology-elements in Xml file format, so before it was not possible to
store e.g. both Tri3 and Quad4 elements in same problem. After this
commit this should now be possible. Paraview Xdmf3 reader is needed to
use.