Set properties for a plate material via Python - not working.

I am trying to set properties for a plate material via Python. It initially seems to work and the command goes through to PLAXIS like this:

Python: 

soe_mat = g_i.platemat("MaterialName","SOE_Wall","IsIsotropic",True,"EA",435000000,"EI", model['wall_EI'],"nu",0.28,"w",30.1)

Command line:

0005> platemat "MaterialName" "SOE_wall" "EA" 435000000 "EI" 30000.0 "nu" 0.28 "w" 30.1
Edited SOE_wall

But when I open the material input box in the GUI, the EA, EI, and nu values did not pass through; their value is 0.000. Note that the material was generated and the "MaterialName" and "w" values were input correctly, just these other three were left off.

I have tried entering the command manually as well, and the same thing happens. I have also tried:

  • Using the sps command
  • Putting the commands in tuples, i.e. within parentheses
  • Using "set" command with just one value to change (after defining the material)
  • Setting it to anisotropic and trying to set EA

But none of this worked. Am I doing something wrong here? 

I'm using PLAXIS 2D V21.

Parents
  • Hello Sean,

    Great to hear that you no longer have difficulty defining the plate material. Indeed, in V22, it is now straightforward to define any material property.
    And you found a good link to check the changes in the parameters as we made some improvements there.

    Just to clarify what was going on, in the older versions the definition of any material required a set of properties to be included in the command as there were dependencies. That is why by default if you create a material the size of the command was always bigger than what one would expect.

    For the plate, the key property is the thickness (d) and stiffness Gref. By including the Gref the EA can be defined and with the d property then the EI can be defined against the EA, too.

    Here's an example I usually use for V21:

    # example
    import math

    EA = 12000000
    EI = 120000
    nu = 0.15
    w = 8.3

    # derived parameters
    d = math.sqrt(12 * EI / EA)
    E = EA / d
    G = E / (2 * (1 + nu))

    wall_parameters = (('MaterialName', 'Steel'),\
    ('Colour', 16711680), ('IsIsotropic', True),\
    ('EA', EA), ('EA2', EA), ('EI', EI), ('Gref', G),\
    ('d', d), ('nu', nu), ('w', w))

    g_i.platemat(*wall_parameters)

    g_i.echo(g_i.Steel)

    # check in PLAXIS Input

Reply
  • Hello Sean,

    Great to hear that you no longer have difficulty defining the plate material. Indeed, in V22, it is now straightforward to define any material property.
    And you found a good link to check the changes in the parameters as we made some improvements there.

    Just to clarify what was going on, in the older versions the definition of any material required a set of properties to be included in the command as there were dependencies. That is why by default if you create a material the size of the command was always bigger than what one would expect.

    For the plate, the key property is the thickness (d) and stiffness Gref. By including the Gref the EA can be defined and with the d property then the EI can be defined against the EA, too.

    Here's an example I usually use for V21:

    # example
    import math

    EA = 12000000
    EI = 120000
    nu = 0.15
    w = 8.3

    # derived parameters
    d = math.sqrt(12 * EI / EA)
    E = EA / d
    G = E / (2 * (1 + nu))

    wall_parameters = (('MaterialName', 'Steel'),\
    ('Colour', 16711680), ('IsIsotropic', True),\
    ('EA', EA), ('EA2', EA), ('EI', EI), ('Gref', G),\
    ('d', d), ('nu', nu), ('w', w))

    g_i.platemat(*wall_parameters)

    g_i.echo(g_i.Steel)

    # check in PLAXIS Input

Children
No Data