virtualbow icon indicating copy to clipboard operation
virtualbow copied to clipboard

Final cleanup and testing of the new Rust solver

Open stfnp opened this issue 4 months ago • 0 comments

Specific Issues

  • [x] The error messages starting with "Layer" and "Material" should contain the name of the problematic layer or material
  • [x] ~Import of old models that contain the same material or layer name multiple times does not work correctly~ Import works but produces a model with error, which can be fixed easily by users. So nothing to do here.
  • [x] Change back the order of layers as it was before, switch internally
  • [ ] Some older files do not load yet
  • [x] ~Check~ Fix difference in sign of curvature plot
  • [x] Round auto-converted shear modulus to same precision as Young's modulus
  • [x] Invalid settings reaching the solver from compute_geometry crash the application (test by removing validation in GUI and entering invalid values). Write tests on the C++ side for invalid inputs.
  • [ ] Consider moving the safety margin from material to layer properties
  • [ ] Find a clean solution for evaluating layer stresses and strains only over the length of the layer. Same for layer thickness plots.
  • [ ] Add tests for beam convergence (error vs. number of elements). Ensure that numerical settings work even for large numbers of elements.
  • [ ] Revisit all models that came back with simulation failures during development testing

General Cleanup

  • [x] Update all dependencies
  • [x] Run cargo-license to see if there are any problems or obligations
  • [x] Add asserts wherever it makes sense, especially for parameters of the elements
  • [x] Have a look at all the unwrap() and expect() calls in the code, resolve or add comments why they are okay
  • [ ] Have a look at all the TODO comments in the code, fix important ones and keep rest for later (#278)
  • [ ] Final naming of the (sub-)crates (virtualbow_num -> virtualbow_fem? virtualbow_xyz -> virtualbow-xyz?)
  • [ ] Define the example bow in the UI code instead of the solver for consistency (like new layers, materials, etc.)

Testing and Verification

  • [ ] Are angle and curvature of the different curve segments tested against numerical approximations?
  • [ ] Add tests for HandleRef in combination with LayerAlignment
  • [ ] Check for symmetry errors in the model (*2, /2)
  • [ ] Go over all error types and check if there is a test for them if it makes sense
  • [ ] Have a closer look at the test coverage results and add tests where it makes sense
  • [x] Use GXBeam as a reference for the beam verification examples. Also pick beam length != 1 and add examples of composite cross sections.
  • [ ] Re-simulate user bows where the results didn't match well previously
  • [ ] Write section stiffnesses to the results and check relation between strains and forces

stfnp avatar Aug 22 '25 13:08 stfnp