Hi,
I am using Plaxis 2D V21 Ultimate. I would like to input einit、DataSetFlow and UsdaSoilType through python remote scripting.However, It does not work. My script is as the following:
material = g_i.soilmat()material.setproperties("MaterialName", f"Sunshan VI CL-111", "SoilModel", 2, "DrainageType", 1, "DilatancyCutOff", False, "gammaUnsat", 16,"gammaSat", 20, "einit", 0.65, "Eref", 13000, "nu", 0.3, "cref", 1, "phi", 30, "psi", 0, "InterfaceStrength", 2, "Rinter", 0.667, "K0Determination" , 0, "K0Primary", 0.66, "DataSetFlow", 2, "UsdaSoilType", 0)[0]
Dear 簡 宜婕,
Our previous version (V21 and older) required to define some different parameters than the ones exposed in GUI. In this case, PLAXIS actually stores the porosity (n) instead of the void ratio (e), therefore instead of the einit you should define the ninit = einit / (1+einit).
In this case, the command becomes:
material = g_i.soilmat()material.setproperties("MaterialName", f"Sunshan VI CL-111", "SoilModel", 2, "DrainageType", 1, "DilatancyCutOff", False, "gammaUnsat", 16,"gammaSat", 20, "ninit", 0.393939, "Eref", 13000, "nu", 0.3, "cref", 1, "phi", 30, "psi", 0, "InterfaceStrength", 2, "Rinter", 0.667, "K0Determination", 0, "K0Primary", 0.66, "DataSetFlow", 2, "UsdaSoilType", 0)
Note that in our latest version PLAXIS CONNECT Edition V22, this process has been improved.
Answer Verified By: 簡 宜婕
Hello Stefanos Papavasileiou
Thank you for your reply.
That also doesn't work for DataSetFlow and UsdaSoilType,can this problem be resolved if I update to Edition V22 ?
Because when I input DataSetFlow is 2, the result should be "USDA",but the display is not.
Best regards
簡宜婕
Hello again,
Yes, this is also improved with V22.
For V21 this is a bit of trial & error as PLAXIS has a specific property that links the DataSetFlow and the SoilTypeFlow (and ModelFlow and LowerUpper properties when applicable).This is called FlowDataModel and in your case, the value for that (Standard with Coarse) is 0.
So, in your script you should have something like this:
mc_params_gw_2 = [("MaterialName", "Sand_MC"), ("SoilModel", 2), ("Gref", 25E3 / (2 * (1 + 0.3))), ("nu", 0.3), ("phi", 29), ("FlowDataModel", 0), # specific integer for Standard and Coarse ("DataSetFlow", "Standard"), # Standard ("SoilTypeFlow", "Coarse")]
The way to find it is the following: