====== Mass ====== ===== Materials ===== A mass 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'' | mass number (must be unique for all element in ''materialset'', not just for mass elements) | |''type'' | type of mass (for example ''ConstantMassMaterial'') | |''param'' | name of the mass parameter (for example ''MASS_DENSITY'') | |''value'' | value of the corresponding parameter| |''fct'' | function which characterizes the dependency of the property (optional: no ''fct'' if no dependency) | |''Lock'' | [[doc:user:general:locks|Lock]] which defines the dependency variable of the property (compulsory if there is a dependency) | ==== ConstantMassMaterial ==== === Description === Constant, punctual mass === Parameters === ^ Name ^ Metafor Code ^ | Mass | MASS_DENSITY | ===== Element===== Once the [[#Materials|material]] is defined, it must be associated to an ''[[doc:user:elements:general:def_element_properties|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 ''Mass[2|3]DElement'' for mass elements)| |''param1'', ''param2'' | name of the property associated to the element (for example MATERIAL to associate the desired material)| |''valeur1'', ''valeur2'' | value of the corresponding property | |''fct1'', ''fct2'' | function which characterizes the dependency of the property (optional: no fct if no dependency) | |''Lock1'', ''Lock2'' | [[doc:user:general:locks|Lock]] which defines the dependency variable of the property (compulsory if there is a dependency) | ==== Mass[2|3]DElement ==== Punctual mass element. They must be associated to a ''Mechanism0DInteraction''. === Parameters === ^ Name ^ Metafor Code ^ Dependency ^ | ''MATERIAL'' | Number of the mass material to consider | - | | ''STIFFMETHOD'' | Method used to compute the stiffness matrix\\ = ''STIFF_ANALYTIC'' : analytic matrix (default)\\= ''STIFF_NUMERIC'' : numerical matrix | - | | ''OMEGA'' | Angular speed (°/s) to take into account centrifugal forces. \\ In an dynamic implicit integration scheme (''AlphaGeneralizedTimeIntegration'' or ''DampedAlphaGeneralizedTimeIntegration'') with ''setUseInitialRotationBalancing(True)'', centrifugal forces are computed during a quasi-static equilibrium phase. | time | | ''OMEGA_PT1'' | Number of the first point which defines the rotation axis. Can be moved. | - | | ''OMEGA_PT2'' | Number of the first point which defines the rotation axis. Can be moved. | - | | ''GRAVITY_X'' / ''GRAVITY_Y'' / ''GRAVITY_Z'' | gravity | time | | ''CORIOLIS'' | Computing Coriolis forces in QS integration scheme | - | ===== Interaction ===== Finally, once the ''Mass[2|3]DElement'' ''[[#Element|ElementProperties]]'' is defined, the corresponding interaction is generated with the ''Mechanism0DInteraction'' on meshed objects. If the object is not meshed (ex applying mass to force driven contact tool), the corresponding geometric mesh element must be generated using [[doc:user:geometry:mesh:0D]]. Once done, the interaction can be defined and included in the ''interactionset'': app = Mechanism0DInteraction(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(Mechanism0DInteraction(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 ''Mechanism0DInteraction'') | |''gObject1'' | mesh geometric entity where the finite elements are applied | | ''prp'' | [[doc:user:elements:general:def_element_properties|Properties]] of [[#Element|mass elements]] to generate.|