IDEA example error

Hi there,

When running the tutorial for IDEA integrations (Integrations - IDEA StatiCa Concrete | VIKTOR Documentation), my installed worker returns ERROR EXECUTION_ERROR: Failed creating model

This happens both when using the OpenModel and the Model examples. The worker is for idearcs v.5.1.3. There was a similar problem posted in february, but I couldn’t find a solution there.

The code I’m using:

    @staticmethod
    def run_idea(params, **kwargs) -> None:
        from viktor.external.idea_rcs import OpenModel, ConcreteMaterial, ReinforcementMaterial, CrossSectionType, \
            ResultOfInternalForces, LoadingSLS, LoadingULS, MemberType, TwoWaySlabType

        model = OpenModel()  # Initialize the model.

        # Create the concrete section.
        mat = model.create_matconcrete_ec2(ConcreteMaterial.C12_15)
        cs = model.create_cross_section_parameter(name='cs', cross_section_type=CrossSectionType.RECT, material=mat,
                                                  Width=2.0, Height=2.0)

        # Create the reinforced cross section.
        rcs = model.create_reinforced_cross_section(name='rcs', cross_section=cs)

        # Create bars (and stirrups) as desired
        mat_reinf = model.create_matreinforcement_ec2(ReinforcementMaterial.B_400A)

        bar_locations = [(-0.101, -0.175), (0.101, -0.175), (0.101, 0.175), (-0.101, 0.175)]
        bar_diameters = [0.016, 0.016, 0.016, 0.016]

        for coords, diameter in zip(bar_locations, bar_diameters):
            rcs.create_bar(coords, diameter, mat_reinf)

        # Create a CheckMember.
        member = model.create_check_member1d()

        # 'Assign' the CheckMember to a CheckSection with the previously defined reinforced section and add extremes.
        check_section = model.add_check_section(description='S 1', check_member=member, reinf_section=rcs)
        freq = LoadingSLS(ResultOfInternalForces(N=-100000, My=210000))
        fund = LoadingULS(ResultOfInternalForces(N=-99999, My=200000))
        check_section.create_extreme(frequent=freq, fundamental=fund)

        # 'Assign' the necessary additional data to the CheckMember.
        model.add_member_data_ec2(member, MemberType.BEAM_SLAB, TwoWaySlabType.SHELL_AS_PLATE)

        # Generate the input XML file.
        input_file = model.generate_xml_input()
        from viktor.external.idea_rcs import IdeaRcsAnalysis

        # Generate the input XML file from `Model` or `OpenModel`, or generate one yourself.

        # Run the analysis and obtain the output file.
        analysis = IdeaRcsAnalysis(input_file=input_file)
        analysis.execute(timeout=500)
        output_file = analysis.get_output_file()

Hi Fokke,

To check whether you (or we) didn’t make any mistake in the input file, did you try to import the input file manually in IDEA to see if it opens and runs correctly without errors?

If so:

  • What version of IDEA are you using?
  • Is the worker installed and running on a computer with access to the IDEA software + license?
  • Is the worker started by the correct Windows user account that has access to the license?

As I do not have an Idea license, the worker is IDEA v20.

  • What version of IDEA are you using?
    A colleague opened the input xml file into IDEA v21.1. It gave an error message: “De bewerking is ongeldig vanwege de huidige staat van het object”.

  • Is the worker installed and running on a computer with access to the IDEA software + license?
    No, I don’t have IDEA software on this computer. However, my D-foundation workers works without a problem.

  • Is the worker started by the correct Windows user account that has access to the license?
    The worker is installed in the “public” domain of computer.

The error by IDEA makes me think the problem has nothing to do with the worker, as the app also shows green dots for the worker.

As I do not have an Idea license, the worker is IDEA v20.

I’m a bit confused about this. Do you imply that you do not need a license to run IDEA v20?

A colleague opened the input xml file into IDEA v21.1. It gave an error message: “De bewerking is ongeldig vanwege de huidige staat van het object”.

If I remember correctly, it is not possible to directly open the XML file generated by an OpenModel in the interface of IDEA. You should let the worker generate a .ideaRcs file, as stated here, and open that one in the IDEA interface.

No, I don’t have IDEA software on this computer. However, my D-foundation workers works without a problem.

The IDEA worker calls the IDEA software, so needs a valid IDEA license for that. The D-Foundations worker(s) call the D-Foundation software, which has nothing to do with IDEA.

The worker is installed in the “public” domain of computer.

If the IDEA software + license can be reached from within that “public” account that should be fine.

The error by IDEA makes me think the problem has nothing to do with the worker, as the app also shows green dots for the worker.

The green dots only indicate that the (IDEA) worker is up and running, but doesn’t conclude anything about whether the worker is able to connect to the IDEA software.

My wording is off I think - I have a license for the worker, though I have IDEA not seperately installed on my computer.

Generating a .ideaRcs file is impossible, as the error
viktor.errors.ExecutionError: Idea model cannot be generated, please check correctness of input file
happens when the worker gets to execute the IdeaRcs object, thus before the conversion to an ideaRcs file.

My wording is off I think - I have a license for the worker, though I have IDEA not seperately installed on my computer.

There is no such thing as a license for a worker, or maybe you mean the credentials that can be generated by the app’s admin, from the “workers” section of the app’s environment, to couple a worker to the app.

Workers themselves are just a link between a VIKTOR app and third-party software, meaning it is necessary that the corresponding third-party software (IDEA in this case) is present (with valid licensing) on the machine where the worker is running. You can read more about workers here