Search code examples
pythonabaqus

Creating a SubstructureGenerateModes object in ABAQUS?


I'm writing a python script for an ABAQUS model and I need to create a substructure generation step. ABAQUS has a SubstructureGenerateStep object for that. My problem is that one of the arguments of the constructor for this object is modeRange which takes a SubstructureGenerateModesArray object. The problem is that the SubstructureGenerateModes does not seem to have a constructor, and the documentation doesn't anywhere describe how to create this object. Below is the entire documentation page of the SubstructureGenerateModes object.

50.25 SubstructureGenerateModes object

A SubstructureGenerateModes object is used to define the modes to be used in a modal dynamic analysis. Access

import step
mdb.models[name].steps[name].modeRange[i]

50.25.1 Members

The SubstructureGenerateModes object has the following members:

start

  • An Int specifying the mode number of the lowest mode of a range.

end

  • An Int specifying the mode number of the highest mode of a range.

increment

  • An Int specifying the increment used to define the intermediate mode numbers beginning from the lowest mode to the highest mode.

Does anyone know how to create such an object?

I have already tried intuitive options such as

mdb.models[name].SubstructureGenerateModes(start=1, end=60, increment=1)

but that threw an AttributeError


Solution

  • The documentation confused me too. So I ignored the documentation and created the substructure with a mode range in Abaqus/CAE and then read the .rec file. It gave me something like this:

    mdb.models[name].SubstructureGenerateStep(modeRange=((1, 60, 1), ), name=
        name, previous=previousName, retainedEigenmodesMethod=MODE_RANGE, 
        substructureIdentifier=1) 
    

    So the SubstructureGenerateModes Object seems to be "((1, 60, 1), )" which I would describe it more as a tuple in a tuple.