[pull] master from sofa-framework:master#242
Merged
pull[bot] merged 1 commit intomcx:masterfrom Nov 11, 2025
Merged
Conversation
* Start removing assembly function from linear solvers * move internal functions to protected * cache factorization + cache invalidation * remove more "assembly" functions * fix AsyncSparseLDLSolver * add missing templates to the factory * CompositeLinearSystem can support multiple types of linear systems * introduce preconditioned systems * a bit of cleaning * convert double to Real * add an error if wrong type * Restoration of the parameter controlling the assembly rate of the preconditioned matrix. It was the Data 'update_step' in PCGLinearSolver, but now it's the Data 'assemblingRate' in PreconditionedMatrixFreeSystem. Benchmark of examples\Component\LinearSolver\Preconditioner\FEMBAR_PCG_JacobiPreconditioner.scn on 1000 time steps with variation of `assemblingRate`: 1: 700.128 FPS 2: 968.381 FPS 3: 1074.87 FPS 4: 1156.56 FPS 10: 1383.11 FPS 20: 1478.05 FPS 30: 1561.64 FPS 60: 1563.85 FPS * restore removed Data with a deprecation layer * restore initial parameter for regression tests * fix PrecomputedLinearSolver * mark WarpPreconditioner destructor as `override` * minor cleaning * simplify `checkLinearSystem` in WarpPreconditioner implementation * add license header to RotationMatrixSystem header file * fix typo in registration description of RotationMatrixSystem * modernize code style * add missing `RotationMatrixSystem.inl` to CMakeLists.txt * replace `addSlave` with `addObject` in MatrixLinearSolver This is to allow the added object to be initialized. Slaves are not initialized because visitors don't visit them. They are owned by their master, then it's up to their master to initialize them or not. There is no reason for a linear system to be a slave. * add SOFA class macros for proper class hierarchy * Missing space * proper initialization of systems and solvers * validate `l_linearSystem` type in `PCGLinearSolver` * fix typo in error message of `PCGLinearSolver` * validate `l_mainAssembledSystem` and handle missing or invalid linear systems in `RotationMatrixSystem` * validate `l_linearSystem` type and ensure compatibility with `RotationMatrixSystem` in `WarpPreconditioner` * don't link to itself * refactor `RotationMatrixSystem` and `WarpPreconditioner` for clearer logic and enhanced matrix handling * some comments * proper deprecation * update scene * minor changes * add `template` keyword to `get` and `getObjects` calls in `RotationMatrixSystem` for proper type resolution * invert includes order to allow object factory to find the component module * apply changes * deprecation * forgot a file * simplify `checkLinearSystem` logic using `doCheckLinearSystem` * add components that are created implicitly in the scene * add a description to a class member * see if regression test is happy * rename `d_authorizeAssembly` to `d_enableAssembly` * rename Data name * fix call to MechanicalMultiVectorPeqBaseVectorVisitor but actually it is not called
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )