Flux error related to motor periodicity and lines on the vertical axis

Altair Forum User
Altair Forum User
Altair Employee
edited October 2020 in Community Q&A

The error code that I get executing 'check physics' is:

 

 The lines :64  65  124  125 of the plan of periodicity have no linked discretisation.  The mesh periodicity is not assured. The PERIODICITY PeriodicityNumberZaxis can not be taken into account Lines of the constraint without reference line: To obtain the same line mesh on lines, you may use a LINKED MESH_LINE

 

I'm designing a quarter of a motor. The lines 64, 65, 124 and 125 correspond to the ones on the vertical axis. I'm using the periodicity setting to create the other quarters of the motor so that I get a full one. I've set Repetition number to 4, Offset to 0 and Odd periodicity.

The mesh is automatically created with Mesh Faces. It has surface element with 98% of excelent quality and 2% of good.

 

Checking the geometry doesn't give any errors. However I'm concerned that using cartesian and cilindrical coordinate systems on the same geometry may cause this error code. What do you think?

 

I've tried creating a Linked Mesh Line. However It asks me to introduce a transformation that will define that Mesh Line, but I'm using a periodicity so it doesn't appear on the transformations menu. What can I do now?

 

Thanks

Tagged:

Answers

  • asoualmi
    asoualmi
    Altair Employee
    edited February 2019

    Hi,

    In your case you have presented one quarter of the motor and you use a periodicity. The error message explain that there is a messing linked mesh on the lines (64, 65, 124 and 125). To avoid this error message, once the infinite box is created, use the command “complete infinite box’, this leads to create the linked mesh on the adequate lines.

    In you case, you need to use a linked mesh on these lines. To do it, create a transformation type rotation (the angle of rotation it is equal to quarter of machine). In the second step, create a mesh line type linked with the transformation created before.

    Other thing, you can also edit all the lines in the same axis as the lines (64, 65, 124 and 125) to see the mesh lines used. You can use it for the lines (64, 65, 124 and 125).

     

    Best regards.

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited February 2019

    Thank you for answering.

    I've created the transformation you mention and a linked mesh line. Then I've set the lines on the OY axis to use the new mesh line.

     

    On the flux output I can see that this operation linked the lines on the OY axis with the respective ones on the OX axis. But I have a question.. Does it still take into account that i'm using a 'odd periodicity'? This means that the magnetic poles are NSNS (north south north south) instead of NNNN.

    Also, I'm not using a infinite box. In previous versions of flux I didn't need one because the program would automatically set the boundary conditions. Is it still the case now on Flux 2018?

  • Alejandro Rodríguez
    Alejandro Rodríguez
    Altair Employee
    edited February 2019

    Hello ,

    In fact, Flux still taken into account that an odd periodicity exists.

     

    If you are not using an infinity box (this is not compulsory but only advised) you should set boundary conditions in your motor borders. In any case, with or without infinity box, you will need to use linked mesh on the lines just at it was explained by Flux support.

     

    Best regards,

     

     

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited March 2019

    Hi,

     

    The best way to avoid this issue is to use a symmetry over a line in the geometry context. Instead of using a quarter of the rotor, use the eigth of it and then generate symmetry over the 45° line . In this case both halves of geometry will be identical and you will not get an error during linked meshline creation.

     

    Regards,

     

    Stan

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited June 2019

    Thanks everyone! I've already managed to do it correctly. And @sts1983 I'll try your idea next time. It seems much easier and intuitive than creating a mesh line.

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited September 2020

    SURNO2   => Normal vector equal to zero (b)
    SURNO2   => Failed
    FARNLG_1 => Failed
    FARMFA   => Failed
    C3CCFA   => Failed
    TOCC3D   => Unable to construct 3D wire
    TOCVO2_1 => Failed
    BICGEO   => Failed
    FL5CBI   => Failed
    executeAlgo_c => failed
    stdcom.error.SoftwareFortranException: executeAlgo_c : Execution failed.
    Failed execution
        at cad.core.common.error.ErrorManager.createFortranException(ErrorManager.java:170)
        at cad.flux.kernel.dbmanager.FGCProjectDbWrapper.executeAlgo(Native Method)
        at cad.flux.kernel.dbmanager.FGCProjectDbAdapter.executeAlgo(FGCProjectDbAdapter.java:902)
        at cad.flux.kernel.dbmanager.FGCDbManager.executeAlgo(FGCDbManager.java:151)
        at cad.flux.kernel.FGSupervisor.executeNativeCommand(FGSupervisor.java:2169)
        at cad.core.kernel.Supervisor.executeCommand(Supervisor.java:2046)
        at cad.core.kernel.Supervisor.executeMethod(Supervisor.java:2159)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:188)
        at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:206)
        at org.python.core.PyObject.__call__(PyObject.java:545)
        at org.python.core.PyObject.__call__(PyObject.java:551)
        at org.python.core.PyMethod.__call__(PyMethod.java:171)
        at pydb$py.executeMethod$205(pydb.py:1617)
        at pydb$py.call_function(pydb.py)
        at org.python.core.PyTableCode.call(PyTableCode.java:171)
        at org.python.core.PyBaseCode.call(PyBaseCode.java:171)
        at org.python.core.PyFunction.__call__(PyFunction.java:434)
        at org.python.core.PyMethod.__call__(PyMethod.java:156)
        at pydb$py.__call__$172(pydb.py:1390)
        at pydb$py.call_function(pydb.py)
        at org.python.core.PyTableCode.call(PyTableCode.java:171)
        at org.python.core.PyBaseCode.call(PyBaseCode.java:308)
        at org.python.core.PyBaseCode.call(PyBaseCode.java:199)
        at org.python.core.PyFunction.__call__(PyFunction.java:482)
        at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:237)
        at org.python.core.PyMethod.__call__(PyMethod.java:228)
        at org.python.core.PyMethod.__call__(PyMethod.java:223)
        at org.python.core.PyObject.invoke(PyObject.java:3715)
        at org.python.core.PyInstance.instance___call__(PyInstance.java:377)
        at org.python.core.PyInstance.__call__(PyInstance.java:372)
        at org.python.core.PyObject.__call__(PyObject.java:424)
        at org.python.pycode._pyx143.f$0(<input>:1)
        at org.python.pycode._pyx143.call_function(<input>)
        at org.python.core.PyTableCode.call(PyTableCode.java:171)
        at org.python.core.PyCode.call(PyCode.java:18)
        at org.python.core.Py.runCode(Py.java:1625)
        at org.python.core.Py.exec(Py.java:1669)
        at org.python.util.PythonInterpreter.exec(PythonInterpreter.java:276)
        at cad.core.kernel.components.PythonWrapper.runCode(PythonWrapper.java:628)
        at cad.core.kernel.components.PythonWrapper.runsource(PythonWrapper.java:623)
        at cad.core.kernel.components.PythonWrapper.runsource(PythonWrapper.java:598)
        at cad.core.kernel.components.PythonWrapper.runsource(PythonWrapper.java:593)
        at cad.core.kernel.components.PythonWrapper.execute(PythonWrapper.java:638)
        at cad.core.kernel.components.PythonWrapper.executeFunction(PythonWrapper.java:706)
        at cad.core.kernel.encoder.CommandServerRequestsInputPlug.executeCommand(CommandServerRequestsInputPlug.java:79)
        at stdcom.protocole.commandserverrequests.CommandServerRequestsRouter.executeCommand(CommandServerRequestsRouter.java:70)
        at stdcom.protocole.commandserverrequests.CommandServerRequestsOutputPlug.executeCommand(CommandServerRequestsOutputPlug.java:111)
        at cad.core.frontal.decoder.FrontalDecoder.executeCommand(FrontalDecoder.java:692)
        at cad.core.frontal.actions.implementation.GeneralAction.executeBox(GeneralAction.java:286)
        at cad.core.frontal.actions.implementation.GeneralAction.postAct(GeneralAction.java:254)
        at cad.core.frontal.actions.implementation.GeneralAction.interpret(GeneralAction.java:315)
        at cad.core.frontal.components.box.frontaldialog.FrontalDescriptorDialogBox.internalRun(FrontalDescriptorDialogBox.java:296)
        at cad.core.frontal.frontalthread.WorkerThread.executeImplementer(WorkerThread.java:226)
        at cad.core.frontal.frontalthread.WorkerThread.run(WorkerThread.java:274)
     

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited September 2020

    SURNO2   => Normal vector equal to zero (b)
    SURNO2   => Failed
    FARNLG_1 => Failed
    FARMFA   => Failed
    C3CCFA   => Failed
    TOCC3D   => Unable to construct 3D wire
    TOCVO2_1 => Failed
    BICGEO   => Failed
    FL5CBI   => Failed
    executeAlgo_c => failed
    stdcom.error.SoftwareFortranException: executeAlgo_c : Execution failed.
    Failed execution
        at cad.core.common.error.ErrorManager.createFortranException(ErrorManager.java:170)
        at cad.flux.kernel.dbmanager.FGCProjectDbWrapper.executeAlgo(Native Method)
        at cad.flux.kernel.dbmanager.FGCProjectDbAdapter.executeAlgo(FGCProjectDbAdapter.java:902)
        at cad.flux.kernel.dbmanager.FGCDbManager.executeAlgo(FGCDbManager.java:151)
        at cad.flux.kernel.FGSupervisor.executeNativeCommand(FGSupervisor.java:2169)
        at cad.core.kernel.Supervisor.executeCommand(Supervisor.java:2046)
        at cad.core.kernel.Supervisor.executeMethod(Supervisor.java:2159)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:188)
        at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:206)
        at org.python.core.PyObject.__call__(PyObject.java:545)
        at org.python.core.PyObject.__call__(PyObject.java:551)
        at org.python.core.PyMethod.__call__(PyMethod.java:171)
        at pydb$py.executeMethod$205(pydb.py:1617)
        at pydb$py.call_function(pydb.py)
        at org.python.core.PyTableCode.call(PyTableCode.java:171)
        at org.python.core.PyBaseCode.call(PyBaseCode.java:171)
        at org.python.core.PyFunction.__call__(PyFunction.java:434)
        at org.python.core.PyMethod.__call__(PyMethod.java:156)
        at pydb$py.__call__$172(pydb.py:1390)
        at pydb$py.call_function(pydb.py)
        at org.python.core.PyTableCode.call(PyTableCode.java:171)
        at org.python.core.PyBaseCode.call(PyBaseCode.java:308)
        at org.python.core.PyBaseCode.call(PyBaseCode.java:199)
        at org.python.core.PyFunction.__call__(PyFunction.java:482)
        at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:237)
        at org.python.core.PyMethod.__call__(PyMethod.java:228)
        at org.python.core.PyMethod.__call__(PyMethod.java:223)
        at org.python.core.PyObject.invoke(PyObject.java:3715)
        at org.python.core.PyInstance.instance___call__(PyInstance.java:377)
        at org.python.core.PyInstance.__call__(PyInstance.java:372)
        at org.python.core.PyObject.__call__(PyObject.java:424)
        at org.python.pycode._pyx143.f$0(<input>:1)
        at org.python.pycode._pyx143.call_function(<input>)
        at org.python.core.PyTableCode.call(PyTableCode.java:171)
        at org.python.core.PyCode.call(PyCode.java:18)
        at org.python.core.Py.runCode(Py.java:1625)
        at org.python.core.Py.exec(Py.java:1669)
        at org.python.util.PythonInterpreter.exec(PythonInterpreter.java:276)
        at cad.core.kernel.components.PythonWrapper.runCode(PythonWrapper.java:628)
        at cad.core.kernel.components.PythonWrapper.runsource(PythonWrapper.java:623)
        at cad.core.kernel.components.PythonWrapper.runsource(PythonWrapper.java:598)
        at cad.core.kernel.components.PythonWrapper.runsource(PythonWrapper.java:593)
        at cad.core.kernel.components.PythonWrapper.execute(PythonWrapper.java:638)
        at cad.core.kernel.components.PythonWrapper.executeFunction(PythonWrapper.java:706)
        at cad.core.kernel.encoder.CommandServerRequestsInputPlug.executeCommand(CommandServerRequestsInputPlug.java:79)
        at stdcom.protocole.commandserverrequests.CommandServerRequestsRouter.executeCommand(CommandServerRequestsRouter.java:70)
        at stdcom.protocole.commandserverrequests.CommandServerRequestsOutputPlug.executeCommand(CommandServerRequestsOutputPlug.java:111)
        at cad.core.frontal.decoder.FrontalDecoder.executeCommand(FrontalDecoder.java:692)
        at cad.core.frontal.actions.implementation.GeneralAction.executeBox(GeneralAction.java:286)
        at cad.core.frontal.actions.implementation.GeneralAction.postAct(GeneralAction.java:254)
        at cad.core.frontal.actions.implementation.GeneralAction.interpret(GeneralAction.java:315)
        at cad.core.frontal.components.box.frontaldialog.FrontalDescriptorDialogBox.internalRun(FrontalDescriptorDialogBox.java:296)
        at cad.core.frontal.frontalthread.WorkerThread.executeImplementer(WorkerThread.java:226)
        at cad.core.frontal.frontalthread.WorkerThread.run(WorkerThread.java:274)