A damping is defined is the same way as volume materials:
materialno = materialset.define (number, type) materialno = materialset(number) materialno.put(param, value) materialno.depend(param, fct, Key(Lock))) ...
number | damping number (must be unique for all element in materialset, not just for dampings) |
type | type of damping(for example DampingMaterial) |
param | name of the damping parameter (for example SPRING_FC) |
value | value of the corresponding parameter |
fct | function which characterizes the dependency of the property (optional: no fct if no dependency) |
Lock | Lock which defines the dependency variable of the property (compulsory if there is a dependency) |
Damping material
| Name | Metafor Code | Dependency |
|---|---|---|
| Damping coefficient | SPRING_FC | - |
Once the material is defined, it must be associated to an ElementProperties:
prp = ElementProperties(typeEl) prp.put(param1, value1) prp.depend(param1, fct1, Lock1)) #facultatif prp.put(param2, value2) prp.depend(param2, fct2, Lock2) # facultatif ...
where
typeEl | desired element (for example Damping[2|3]DElement for dampings) |
param1, param2 | name of the property associated to the element (for example MATERIAL to associate the desired material) |
value1, value2 | value of the corresponding property |
fct1, fct2 | function which characterizes the dependency of the property (optional: no fct if no dependency) |
Lock1, Lock2 | Lock which defines the dependency variable of the property (compulsory if there is a dependency) |
Damping element. No axisymmetric correction is implemented. They must be associated with a FieldApplicator interaction.
| Name | Metafor Code | Dependency |
|---|---|---|
MATERIAL | Number of the damping material to consider | - |
STIFFMETHOD | Method used to compute the stiffness matrix = STIFF_ANALYTIC : analytic matrix (default)\\= STIFF_NUMERIC : numerical matrix | - |
Finally, once the Mass[2|3]DElement ElementProperties is defined, the corresponding interaction is generated with the FieldApplicator. To do so, the corresponding geometric mesh element must be generated using 0D Meshers (Points). Once done, the interaction can be defined and included in the interactionset:
app = FieldApplicator(no) app.push(gObject1) app.push(gObject2) ... app.addProperty(prp) # association of an ElementProperties interactionset.add(app) # the interaction is added in InteractionSet
or
app = interactionset.add(FieldApplicator(no)) #add returns a reference app.push(gObject1) app.push(gObject2) ... app.addProperty(prp) # association of an ElementProperties
where
no | number of the Interaction (which is to say the FieldApplicator) |
gObject1, gObject2 | meshed geometric entity where the finite elements are applied |
prp | Properties of Elements to generate. |