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.1Edited 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:
But none of this worked. Am I doing something wrong here?
I'm using PLAXIS 2D V21.
I upgraded to V22 and this problem went away (needed to update the property names first for the V22 changes: https://communities.bentley.com/products/geotech-analysis/w/wiki/60865/material-property-changes-for-python-scripting).
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:
# exampleimport mathEA = 12000000EI = 120000nu = 0.15w = 8.3
# derived parametersd = math.sqrt(12 * EI / EA)E = EA / dG = 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