zanoni-mbdyn / blendyn

MBDyn (https://www.mbdyn.org/) graphical post-processor for blender (https://www.blender.org/)
GNU General Public License v2.0
40 stars 8 forks source link

Blendyn Tutorials import issues #35

Closed goodluckko closed 6 years ago

goodluckko commented 6 years ago
 Hi,when I using Blender2.79 and Mbdyn1.7.3 to learn Wiki on Helicopter blade flapping analysis,I found that something differences:in Scene Property panel the node_10 and 11 is lost;And I can't find the 3-no:qde beam element under the elements list,as well as Data Properties panel.
  I don't know what's the problem ,How can I get the right way?Any idea or help would be great :)

Best wishes, goodluckko

zanoni-mbdyn commented 6 years ago

Hello @goodluckko and thanks for your interest in Blendyn!

Can you please open Blender from a Teminal, try to go through the tutorial and post the messages that Blendyn is outputting there?

Thanks Regards

goodluckko commented 6 years ago

Hi,thanks to your attention,and sorry for reply you so late.the messages is here:

[test@CentOS ~]$ blender Read prefs: /home/test/.config/blender/2.79/config/userpref.blend found bundled python: /usr/local/blender/2.79/python Blendyn:: could not enable the netCDF module. NetCDF import will be disabled. The reported error was: No module named 'netCDF4' Blendyn:: could not enable the plotting module. Plotting will be disabled. The reported error was: No module named 'pygal' Blendyn:: could not enable the MBDyn control module. Stopping MBDyn from the Blender UI will be disabled. No module named 'psutil' Blendyn: could not find netCDF4 module. NetCDF import will be disabled. Blendyn:: could not find netCDF4 module. NetCDF import will be disabled. Blendyn::parse_log_file(): Trying to read nodes and elements from file: /usr/local/mbdyn/bin/bladeflap_1.log Blendyn::parse_log_file(): Found output frequency element. parse_elements(): Element type output frequency not implemented yet. Skipping... Blendyn::parse_log_file(): Found a structural node. Blendyn::parse_node(): Parsing node 1 Blendyn::parse_node(): didn't find an existing entry in nodes dictionary for node 1. Creating it. Blendyn::parse_log_file(): Found a structural node. Blendyn::parse_node(): Parsing node 2 Blendyn::parse_node(): didn't find an existing entry in nodes dictionary for node 2. Creating it. Blendyn::parse_log_file(): Found a structural node. Blendyn::parse_node(): Parsing node 12 Blendyn::parse_node(): didn't find an existing entry in nodes dictionary for node 12. Creating it. Blendyn::parse_log_file(): Found clamp element. Blendyn::parse_clamp(): Parsing Cardano hinge joint 1 Blendyn::parse_clamp(): didn't found an entry in elements dictionary. Creating one. Blendyn::parse_log_file(): Found axialrotation element. Blendyn::parse_axialrot(): Parsing axialrot joint 2 Blendyn::parse_axialrot(): didn't find an entry in elements dictionary. Creating one. Blendyn::parse_log_file(): Found revolutehinge element. Blendyn::parse_revolute_hinge(): Parsing revolute hinge joint 10 Blendyn::parse_revolute_hinge(): didn't find an entry in elements dictionary. Creating one. Blendyn::parse_log_file(): Found body element. Blendyn::parse_body(): Parsing body 12 Blendyn::parse_body(): didn't find an entry in elements dictionary. Creating one. Blendyn::parse_log_file(): Found structural absolute force element. Blendyn::parse_structural_absolute_force(): Parsing structural absolute force12 Blendyn::parse_structural_absolute_force(): didn't find an entry in elements dictionary. Creating one. Blendyn::parse_log_file(): Found struct node dofs element. parse_elements(): Element type struct node dofs not implemented yet. Skipping... Blendyn::parse_log_file(): Found struct node eqs element. parse_elements(): Element type struct node eqs not implemented yet. Skipping... Blendyn::parse_log_file(): row does not contain an element definition. Skipping... Blendyn::parse_log_file(): row does not contain an element definition. Skipping... Blendyn::parse_log_file(): row does not contain an element definition. Skipping... Blendyn::parse_log_file(): row does not contain an element definition. Skipping... Blendyn::parse_log_file(): row does not contain an element definition. Skipping... Blendyn::parse_log_file(): row does not contain an element definition. Skipping... Blendyn::parse_log_file(): Found struct node labels element. parse_elements(): Element type struct node labels not implemented yet. Skipping... Blendyn::parse_log_file(): row does not contain an element definition. Skipping... Blendyn::parse_log_file(): row does not contain an element definition. Skipping...

Blendyn::parse_out_file(): Could not locate the file /usr/local/mbdyn/bin/bladeflap_1.rfm Info: MBDyn entities imported successfully

Blendyn::MBDynNodeImportAllButton::execute(): added node 1 to scene and associated with object node_1 Blendyn::MBDynNodeImportAllButton::execute(): added node 2 to scene and associated with object node_2 Blendyn::MBDynNodeImportAllButton::execute(): added node 12 to scene and associated with object node_12 Info: All MBDyn nodes imported successfully

Blendyn::spawn_clamp_element(): Element is already imported. Remove the Blender object or rename it before re-importing the element. Blendyn::spawn_clamp_element(): Element is already imported. Remove the Blender object or rename it before re-importing the element. Blendyn::spawn_clamp_element(): Element is already imported. Remove the Blender object or rename it before re-importing the element.

When I acted to this step ,I can't find the" beam3_1 object ",and so the steps cannot continue latter.I don't know what's the problem is. @zanoni-mbdyn

zanoni-mbdyn commented 6 years ago

I'm a bit puzzled by your output, since it seems that some nodes and elements are not found, indeed... Mine works perfectly, with the same version of Blender:

Read prefs: /home/zanoni/.config/blender/2.79/config/userpref.blend
Blendyn:: could not enable the plotting module. Plotting  will be disabled. The reported error was:
No module named 'pygal'
Blendyn:: could not enable the MBDyn control module. Stopping MBDyn from the Blender UI will be disabled.
No module named 'psutil'
MBDynSelectOutputFile::setup_import() INFO: no valid eigenanalysis results found
WARNING:root:MBDynSelectOutputFile::setup_import() INFO: no valid eigenanalysis results found
Blendyn::parse_log_file(): Trying to read nodes and elements from file: /home/zanoni/lavoro/mbdyn/blender/python/addon/blendyn/blendyn/tests/bladeflap/bladeflap.log
Blendyn::parse_log_file(): Found output frequency element.
parse_elements(): Element type output frequency not implemented yet.                 Skipping...
Blendyn::parse_log_file(): Found a structural node.
Blendyn::parse_node(): Parsing node 1
Blendyn::parse_node(): didn't find an existing entry in nodes dictionary for node 1. Creating it.
Blendyn::parse_log_file(): Found a structural node.
Blendyn::parse_node(): Parsing node 2
Blendyn::parse_node(): didn't find an existing entry in nodes dictionary for node 2. Creating it.
Blendyn::parse_log_file(): Found a structural node.
Blendyn::parse_node(): Parsing node 10
Blendyn::parse_node(): didn't find an existing entry in nodes dictionary for node 10. Creating it.
Blendyn::parse_log_file(): Found a structural node.
Blendyn::parse_node(): Parsing node 11
Blendyn::parse_node(): didn't find an existing entry in nodes dictionary for node 11. Creating it.
Blendyn::parse_log_file(): Found a structural node.
Blendyn::parse_node(): Parsing node 12
Blendyn::parse_node(): didn't find an existing entry in nodes dictionary for node 12. Creating it.
Blendyn::parse_log_file(): Found clamp element.
Blendyn::parse_clamp(): Parsing Cardano hinge joint 1
Blendyn::parse_clamp(): didn't found an entry in elements dictionary. Creating one.
Blendyn::parse_log_file(): Found axialrotation element.
Blendyn::parse_axialrot(): Parsing axialrot joint 2
Blendyn::parse_axialrot(): didn't find an entry in elements dictionary. Creating one.
Blendyn::parse_log_file(): Found revolutehinge element.
Blendyn::parse_revolute_hinge(): Parsing revolute hinge joint 10
Blendyn::parse_revolute_hinge(): didn't find an entry in elements dictionary. Creating one.
Blendyn::parse_log_file(): Found deformablehinge element.
parse_elements(): Element type deformablehinge not implemented yet.                 Skipping...
Blendyn::parse_log_file(): Found body element.
Blendyn::parse_body(): Parsing body 10
Blendyn::parse_body(): didn't find an entry in elements dictionary. Creating one.
Blendyn::parse_log_file(): Found body element.
Blendyn::parse_body(): Parsing body 11
Blendyn::parse_body(): didn't find an entry in elements dictionary. Creating one.
Blendyn::parse_log_file(): Found body element.
Blendyn::parse_body(): Parsing body 12
Blendyn::parse_body(): didn't find an entry in elements dictionary. Creating one.
Blendyn::parse_log_file(): Found beam3 element.
Blendyn::parse_beam3(): Parsing beam3 1
Blendyn::parse_beam3(): didn't find entry in elements dictionary. Creating one.
Blendyn::parse_log_file(): Found structural absolute force element.
Blendyn::parse_structural_absolute_force(): Parsing structural absolute force12
Blendyn::parse_structural_absolute_force(): didn't find an entry in                 elements dictionary. Creating one.
Blendyn::parse_log_file(): Found struct node dofs element.
parse_elements(): Element type struct node dofs not implemented yet.                 Skipping...
Blendyn::parse_log_file(): Found struct node eqs element.
parse_elements(): Element type struct node eqs not implemented yet.                 Skipping...
Blendyn::parse_log_file(): row does not contain an element definition. Skipping...
Blendyn::parse_log_file(): row does not contain an element definition. Skipping...
Blendyn::parse_log_file(): row does not contain an element definition. Skipping...
Blendyn::parse_log_file(): row does not contain an element definition. Skipping...
Blendyn::parse_log_file(): row does not contain an element definition. Skipping...
Blendyn::parse_log_file(): row does not contain an element definition. Skipping...
Blendyn::parse_log_file(): Found struct node labels element.
parse_elements(): Element type struct node labels not implemented yet.                 Skipping...
Blendyn::parse_log_file(): row does not contain an element definition. Skipping...
Blendyn::parse_log_file(): row does not contain an element definition. Skipping...

Blendyn::parse_out_file(): Could not locate the file /home/zanoni/lavoro/mbdyn/blender/python/addon/blendyn/blendyn/tests/bladeflap/bladeflap.rfm
Info: MBDyn entities imported successfully
Blendyn::MBDynNodeImportAllButton::execute(): added node 1 to scene and associated with object node_1
Blendyn::MBDynNodeImportAllButton::execute(): added node 2 to scene and associated with object node_2
Blendyn::MBDynNodeImportAllButton::execute(): added node 10 to scene and associated with object node_10
Blendyn::MBDynNodeImportAllButton::execute(): added node 11 to scene and associated with object node_11
Blendyn::MBDynNodeImportAllButton::execute(): added node 12 to scene and associated with object node_12
Info: All MBDyn nodes imported successfully

Are you sure that you haven't modified the input bladeflap.mbd file? I know that this is probably a silly question, but... Better be sure :)

goodluckko commented 6 years ago

The tutorial said the five nodes,but only can see three nodes in input files,I downloaded input file just like this:

# Multibody System Dynamics
# MBDyn training #2
# Introduction to multibody dynamics with MBDyn
# Rigid blade with flap degree of freedom

begin: data;
    integrator: initial value;
end: data;

begin: initial value;
    initial time: 0.;
    final time: 2.;
    time step: 1.e-3;   # time step must allow about 100 steps/rev

    max iterations: 10;
    tolerance: 1.e-6;

    eigenanalysis: .05, use lapack, balance, no;
end: initial value;

begin: control data;
    structural nodes:
        +1  # ground (clamped)
        +1  # hub (imposed angular velocity)
        +1  # blade (hinged to hub, flap only)
    ;
    rigid bodies:
        +1  # blade
    ;
    joints:
        +1  # ground clamp
        +1  # imposed angular velocity between hub and ground
        +1  # flap hinge between hub and blade
    ;
    forces:
        +1  # perturbation
    ;
end: control data;

set: integer GROUND = 1;
set: integer HUB = 2;
set: integer BLADE1_FLAP = 10;
set: integer BLADE1 = 12;

set: real OMEGA = 40.84;    # radian/s, hub angular velocity
set: real R = 5.5;      # m, rotor radius
set: real FLAP_OFFSET = 0.04*R; # m, flap hinge offset

/*

       ^ z, OMEGA
       |
       |   7 y
       |  /
       | /
       |/      flap hinge
       +---o---------------> x
     FLAP_OFFSET
                         R

                           /-----------------
   flap frequency         /    3 FLAP_OFFSET
   --------------  = -\  / 1 + - -----------
       OMEGA           \/      2      R

 */

reference: GROUND,
    null,
    eye,
    null,
    null;

reference: HUB,
    reference, GROUND, null,
    reference, GROUND, eye,
    reference, GROUND, null,
    reference, GROUND, 0., 0., OMEGA;

reference: BLADE1_FLAP,
    reference, HUB, FLAP_OFFSET, 0., 0.,
    reference, HUB, eye,
    reference, HUB, null,
    reference, HUB, null;

/* axis 1: blade axis in blade's reference frame
 * axis 2: chordwise direction in blade's reference frame
 * axis 3: out-of-plane direction in blade's reference frame
 */
reference: BLADE1,
    reference, BLADE1_FLAP, (R - FLAP_OFFSET)/2., 0., 0.,
    reference, BLADE1_FLAP, eye,
    reference, BLADE1_FLAP, null,
    reference, BLADE1_FLAP, null;

begin: nodes;
    structural: GROUND, static,
        reference, GROUND, null,
        reference, GROUND, eye,
        reference, GROUND, null,
        reference, GROUND, null;

    structural: HUB, static,
        reference, HUB, null,
        reference, HUB, eye,
        reference, HUB, null,
        reference, HUB, null;

    structural: BLADE1, dynamic,
        reference, BLADE1, null,
        reference, BLADE1, eye,
        reference, BLADE1, null,
        reference, BLADE1, null;
end: nodes;

begin: elements;
    joint: GROUND, clamp, GROUND, node, node;

    joint: HUB, axial rotation,
        GROUND,
            position, reference, GROUND, null,
            orientation, reference, GROUND, eye,
        HUB,
            position, reference, GROUND, null,
            orientation, reference, GROUND, eye,
        const, OMEGA;

    /* revolute joint axis about joint's local axis 3
     * which corresponds to axis 2 in blade's reference frame
     */
    joint: BLADE1_FLAP, revolute hinge,
        HUB,
            position, reference, BLADE1_FLAP, null,
            orientation, reference, BLADE1_FLAP,
                1, 1., 0., 0.,  # blade axis unchanged
                3, 0., 1., 0.,  # axis 3 parallel to chord
        BLADE1,
            position, reference, BLADE1_FLAP, null,
            orientation, reference, BLADE1_FLAP,
                1, 1., 0., 0.,  # blade axis unchanged
                3, 0., 1., 0.;  # axis 3 parallel to chord

    body: BLADE1, BLADE1,
        50.,
        reference, BLADE1, null, # -(R - FLAP_OFFSET)/2, 0., 0.,
        diag,
            1.,
            50./12*(R - FLAP_OFFSET)^2,
            50./12*(R - FLAP_OFFSET)^2;

    force: BLADE1, absolute,
        BLADE1,
        position, null,
        0., 0., 1.,
            # const, 0.;
            sine, .1, pi/.01, 100., one, 0.;
end: elements;

# vim:ft=mbd

regard @zanoni-mbdyn

zanoni-mbdyn commented 6 years ago

@goodluckko please note that the MBDyn input file the tutorial refers to is a modified version of the one you are using, i.e. this one which is found in the Blendyn files in the tests/bladeflap folder.

goodluckko commented 6 years ago

@zanoni-mbdyn Thanks you so much,I will use it correctly!

zanoni-mbdyn commented 6 years ago

No problem! :) Closing the issue