[MBDyn-users] Initial assembly related member functions of user defined elements are not called

masarati at aero.polimi.it masarati at aero.polimi.it
Mon Apr 2 09:51:47 CEST 2012

> Dear Mr. Masarati,
> When writing as user defined element one has to provide the following set
> of member functions:
>             virtual unsigned int iGetInitialNumDof(void) const;
>             virtual void
>             InitialWorkSpaceDim(integer* piNumRows, integer* piNumCols)
> const;
>             VariableSubMatrixHandler&
>             InitialAssJac(VariableSubMatrixHandler& WorkMat,
>                               const VectorHandler& XCurr);
>             SubVectorHandler&
>             InitialAssRes(SubVectorHandler& WorkVec, const VectorHandler&
> XCurr);
> But if you run a simulation with an user defined element, none of these
> member functions is called.
> Is it possible to enable the initial assembly phase for user defined
> elements?

As far as I remember, you need to explicitly enable their use in initial
assembly (since this phase was expressly intended for initial assembly of
joint elements).  I understand that user-defined elements can indeed play
the role of joints...  The syntax is

begin: control data;
    # ...
    use: loadable elements, in assembly;
    # ...
end: control data;


Cheers, p.

More information about the MBDyn-users mailing list