GroupFilterYoungModulus
The `GroupFilterYoungModulus` is an engine in the SOFA framework designed to generate a vector of Young's moduli based on predefined groups of primitives. It inherits from `DataEngine` and operates within the `sofa::component::engine::generate` namespace. This component takes as input various group definitions, primitive indices, and mapping information between groups and their associated Young's moduli values. The output is a vector representing the Young's modulus for each primitive, with a default value provided if a primitive does not belong to any defined group. The component interacts primarily with other components through its API by receiving input data such as groups, primitives, and mappings, and producing an output vector of Young's moduli. The `defaultYoungModulus` field allows users to set the default modulus used for primitives not belonging to any specific group.
- abstract
- Generates a vector of Young's moduli for primitives based on predefined groups and mappings. Provides a default modulus value for primitives not in any group.
- sheet
- # GroupFilterYoungModulus ## Overview The `GroupFilterYoungModulus` is an engine component that generates a vector of Young's moduli for each primitive based on predefined groups and mappings. It inherits from the `DataEngine` class, allowing it to process input data such as group definitions, primitive indices, and mapping information between groups and their associated Young's moduli values. ## Parameters and Data - **defaultYoungModulus**: Default value if a primitive is not in any defined group (type: Real).
- description
- The `GroupFilterYoungModulus` is an engine in the SOFA framework designed to generate a vector of Young's moduli based on predefined groups of primitives. It inherits from `DataEngine` and operates within the `sofa::component::engine::generate` namespace. This component takes as input various group definitions, primitive indices, and mapping information between groups and their associated Young's moduli values. The output is a vector representing the Young's modulus for each primitive, with a default value provided if a primitive does not belong to any defined group. The component interacts primarily with other components through its API by receiving input data such as groups, primitives, and mappings, and producing an output vector of Young's moduli. The `defaultYoungModulus` field allows users to set the default modulus used for primitives not belonging to any specific group.
- maths
- <p>The `GroupFilterYoungModulus` is an engine in the SOFA framework designed to generate a vector of Young's moduli based on predefined groups of primitives. It operates within the <code>sofa::component::engine::generate</code> namespace.</p> <p>This component processes inputs that include group definitions, primitive indices, and mapping information between groups and their associated Young's moduli values. The output is a vector representing the Young's modulus for each primitive, with a default value provided if a primitive does not belong to any defined group.</p> <h2>Inputs</h2> <ul> <li><code>f_groups</code>: A list of predefined groups where each group has an identifier and associated primitives.</li> <li><code>f_primitives</code>: A vector of indices representing individual primitives (e.g., nodes or elements).</li> <li><code>f_elementsGroup</code>: A mapping between elements and their respective groups, if applicable.</li> <li><code>p_mapGroupModulus</code>: A string specifying the mapping between group names and Young's moduli values, e.g., <em>group1;value1;group2;value2;</em>.</li> <li><code>p_defaultModulus</code>: The default Young's modulus value used for primitives not belonging to any specific group.</li> <li><code>p_groupMod</code>: A list of Young's moduli values associated with predefined groups if they are provided in the input.</li> </ul> <h2>Output</h2> <ul> <li><code>f_youngModulus</code>: The resulting vector containing Young's modulus values for each primitive, based on the group mappings and default value provided.</li> </ul> <p>The component processes these inputs through its <code>doUpdate()</code> method to generate the output. It first parses the mapping string (<code>p_mapGroupModulus</code>) and creates a map between groups and their corresponding Young's moduli values. If no predefined group mappings are provided, it defaults to using the list of moduli values specified in <code>p_groupMod</code>.</p> <p>If elements belong to specific groups, the component iterates through these groups and assigns the appropriate Young's modulus value based on the parsed mapping or default value if necessary. If each element directly specifies its group, it retrieves the corresponding modulus from the map.</p> <h2>Example</h2> <p>Given a list of primitives and groups with their associated Young's moduli:</p> <ul> <li><code>f_groups = [Group1, Group2]</code></li> <li><code>p_mapGroupModulus = "Group1;10000.0;Group2;5000.0"</code></li> <li><code>f_primitives = [0, 1, 2, 3]</code></li> <li><code>f_elementsGroup = [0, 1, 1, 0]</code> (indicating that elements 0 and 3 belong to Group1, while 1 and 2 belong to Group2)</li> <li><code>p_defaultModulus = 15000.0</code></li> </ul> <p>The output <code>f_youngModulus</code> vector would be:</p> <ul> <li><code>[10000.0, 5000.0, 5000.0, 10000.0]</code></li> </ul>
{
"name": "GroupFilterYoungModulus",
"main": {
"name": "GroupFilterYoungModulus",
"namespace": "sofa::component::engine::generate",
"module": "Sofa.Component.Engine.Generate",
"include": "sofa/component/engine/generate/GroupFilterYoungModulus.h",
"doc": "Engine defining a vector of young modulus according of a list of defined groups.\n\nThis class returns a vector of Young modulus, according a list of groups",
"inherits": [
"DataEngine"
],
"templates": [
"sofa::defaulttype::Vec3Types"
],
"data_fields": [
{
"name": "p_defaultModulus",
"type": "Real",
"xmlname": "defaultYoungModulus",
"help": "Default value if the primitive is not in a group"
}
],
"links": [],
"methods": [
{
"name": "init",
"return_type": "void",
"params": [],
"is_virtual": true,
"is_pure_virtual": false,
"is_static": false,
"access": "public"
},
{
"name": "reinit",
"return_type": "void",
"params": [],
"is_virtual": true,
"is_pure_virtual": false,
"is_static": false,
"access": "public"
},
{
"name": "doUpdate",
"return_type": "void",
"params": [],
"is_virtual": true,
"is_pure_virtual": false,
"is_static": false,
"access": "public"
}
]
},
"desc": {
"description": "The `GroupFilterYoungModulus` is an engine in the SOFA framework designed to generate a vector of Young's moduli based on predefined groups of primitives. It inherits from `DataEngine` and operates within the `sofa::component::engine::generate` namespace.\n\nThis component takes as input various group definitions, primitive indices, and mapping information between groups and their associated Young's moduli values. The output is a vector representing the Young's modulus for each primitive, with a default value provided if a primitive does not belong to any defined group.\n\nThe component interacts primarily with other components through its API by receiving input data such as groups, primitives, and mappings, and producing an output vector of Young's moduli. The `defaultYoungModulus` field allows users to set the default modulus used for primitives not belonging to any specific group."
},
"maths": {
"maths": "<p>The `GroupFilterYoungModulus` is an engine in the SOFA framework designed to generate a vector of Young's moduli based on predefined groups of primitives. It operates within the <code>sofa::component::engine::generate</code> namespace.</p>\n\n<p>This component processes inputs that include group definitions, primitive indices, and mapping information between groups and their associated Young's moduli values. The output is a vector representing the Young's modulus for each primitive, with a default value provided if a primitive does not belong to any defined group.</p>\n\n<h2>Inputs</h2>\n<ul>\n<li><code>f_groups</code>: A list of predefined groups where each group has an identifier and associated primitives.</li>\n<li><code>f_primitives</code>: A vector of indices representing individual primitives (e.g., nodes or elements).</li>\n<li><code>f_elementsGroup</code>: A mapping between elements and their respective groups, if applicable.</li>\n<li><code>p_mapGroupModulus</code>: A string specifying the mapping between group names and Young's moduli values, e.g., <em>group1;value1;group2;value2;</em>.</li>\n<li><code>p_defaultModulus</code>: The default Young's modulus value used for primitives not belonging to any specific group.</li>\n<li><code>p_groupMod</code>: A list of Young's moduli values associated with predefined groups if they are provided in the input.</li>\n</ul>\n\n<h2>Output</h2>\n<ul>\n<li><code>f_youngModulus</code>: The resulting vector containing Young's modulus values for each primitive, based on the group mappings and default value provided.</li>\n</ul>\n\n<p>The component processes these inputs through its <code>doUpdate()</code> method to generate the output. It first parses the mapping string (<code>p_mapGroupModulus</code>) and creates a map between groups and their corresponding Young's moduli values. If no predefined group mappings are provided, it defaults to using the list of moduli values specified in <code>p_groupMod</code>.</p>\n\n<p>If elements belong to specific groups, the component iterates through these groups and assigns the appropriate Young's modulus value based on the parsed mapping or default value if necessary. If each element directly specifies its group, it retrieves the corresponding modulus from the map.</p>\n\n<h2>Example</h2>\n<p>Given a list of primitives and groups with their associated Young's moduli:</p>\n<ul>\n<li><code>f_groups = [Group1, Group2]</code></li>\n<li><code>p_mapGroupModulus = \"Group1;10000.0;Group2;5000.0\"</code></li>\n<li><code>f_primitives = [0, 1, 2, 3]</code></li>\n<li><code>f_elementsGroup = [0, 1, 1, 0]</code> (indicating that elements 0 and 3 belong to Group1, while 1 and 2 belong to Group2)</li>\n<li><code>p_defaultModulus = 15000.0</code></li>\n</ul>\n\n<p>The output <code>f_youngModulus</code> vector would be:</p>\n<ul>\n<li><code>[10000.0, 5000.0, 5000.0, 10000.0]</code></li>\n</ul>"
},
"summary": {
"abstract": "Generates a vector of Young's moduli for primitives based on predefined groups and mappings. Provides a default modulus value for primitives not in any group.",
"sheet": "\n# GroupFilterYoungModulus\n\n## Overview\nThe `GroupFilterYoungModulus` is an engine component that generates a vector of Young's moduli for each primitive based on predefined groups and mappings. It inherits from the `DataEngine` class, allowing it to process input data such as group definitions, primitive indices, and mapping information between groups and their associated Young's moduli values.\n\n## Parameters and Data\n- **defaultYoungModulus**: Default value if a primitive is not in any defined group (type: Real).\n"
}
}