I am working on the seismic response of a single pile in sand.
The soil model is SANISAND04 proposed by Manzari and Dafalias.
There is one problem when I try to simulate the self-weight application step.
I want to assign a K0 value equal to 1-sin(phi), phi is soil friction angle.
Originally we can achieve this by changing the analysis to elastic and assign different bulk modulus and shear modulus to give certain Poisson's ratio.
But for SANISADN, it seems I can't assign the bulk and shear modulus as UCSD model.
Does anyone know how to achieve this?

You cannot assign a bulk modulus to the ManzariDafalis material, but you can set the following parameters so it should be fine for you:

"materialState"

0 = elastic

1 = plastic

"IntegrationScheme"

5 = Forward Euler

1 = Modified Euler with error control

3 = Runge Kutta 4th order

9 = Forward Euler constraining maximum strain increment

7 = Modified Euler constraining maximum strain increment

8 = Runge-Kutta 4-th order constraining maximum strain increment

4 = Forward Euler constraining maximum energy increment

0 = Modified Euler constraining maximum energy increment

6 = Runge-Kutta 4-th order constraining maximum energy increment

"Jacobian"

0: Finite Difference Jacobian

1: Jacobian

"ShearModulus" or "refShearModulus"

"poissonRatio"

"voidRatio"

In STKO it's very easy to define and update parameter for some or all components of your model. These are the steps to create a parameter and to update it (for example to set the poissonRatio):

Create a new selection set, and select all the solid parts of your model you want to assign the parameter to.

Create a new Analysis Step "Misc_commands.parameter"

In SelectionSets add the selection set created in step 1

In Type choose element

In Specific object arguments put poissonRatio 1 (where 1 is the material Tag, so use the Tag of the material in your model. Note that this thing of specifing the material Tag is specific to the ManzariDafalias model, otherwise it won't work, while other material models do not require it, so poissonRation alone is enough).

Repeat the previous steps for every parameter you want to define

Create a new Asnalysis Step "Misc_commands.updateParameter".

In parameter add the parameter created in step 2

In newVal put the new value of the parameter, so that it will be updated

Repeat the previous steps to update again this parameter to a new value, or to update other parameters