Skip to content

Commit

Permalink
Merge pull request #158 from alxbilger/nomenclaturemappings
Browse files Browse the repository at this point in the history
Add section on mappings nomenclature
  • Loading branch information
hugtalbot authored Nov 13, 2024
2 parents 71f58ae + fb4fa0f commit 6ea6968
Showing 1 changed file with 19 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,25 @@ applyDJT(const MechanicalParams*, MultiVecDerivId parentForce, ConstMultiVecDeri
applyJT(const ConstraintParams*, MultiMatrixDerivId inConst, ConstMultiMatrixDerivId outConst );
```

Nomenclature of Mappings
------------------------

Mappings in SOFA are designed to link two objects, enabling data transfer or interaction between them. However, some scenarios require connections where multiple objects serve as sources or targets. To handle these cases, SOFA provides specialized mapping classes that support these complex interactions:

| Class | Input | Output | Description |
|---------------|---------------------------------|--------|---------------------------------------------------------------------------------------------------------------------------------------|
| Mapping | Single | Single | Standard mapping between two objects. Both objects can have different types. |
| MultiMapping | Multiple of the same type | Multiple of the same type | Maps multiple input objects of the same type to multiple output objects of the same type. Types in input and output can be different. |
| Multi2Mapping | Multiple of two different types | Multiple of the same type | Maps multiple input objects of two different types to multiple output objects of the same type. |

Mappings can also be categorized according to the linearity of the mapping function:

| Type | Description |
|--------------------|------------------------------------------------------------------------------------|
| Linear mapping | The Hessian tensor is null. The functions related to non-linear terms are empty. |
| Non-linear mapping | The Hessian tensor is not null. A geometric stiffness is generated by the mapping. |


Common mappings
---------------
- [IdentityMapping](../../../components/mapping/linear/identitymapping/) when both models have the same degrees of freedom
Expand Down

0 comments on commit 6ea6968

Please sign in to comment.