# DruckerPrager

Define a Drucker-Prager material.

## Parameters

<dl>
<dt>name : str</dt>
<dd>String naming the material.</dd>
<dt>color : Color</dt>
<dd>Material appearance. color= Color(r=79,g=180,b=63)</dd>
<dt>drainage : str</dt>
<dd>Material drainage type. drainage = 'drained_undrained', 'always_drained', 'non_porous'</dd>
<dt>cavitation_cutoff : str</dt>
<dd>cavitation_cutoff = 'no' or 'yes'</dd>
<dt>pcav : float</dt>
<dd>Cavitation pressure in kPa</dd>
<dt>E : float</dt>
<dd>Young's Modulus, in MPa.</dd>
<dt>nu : float</dt>
<dd>Poisson's ratio.</dd>
<dt>k : float</dt>
<dd>Model parameter,in kPa</dd>
<dt>M : float</dt>
<dd>Model fitting parameter</dd>
<dt>flow_rule : str</dt>
<dd>flow_rule = 'associated' or 'nonassociated'</dd>
<dt>N : float</dt>
<dd>Model cap parameter</dd>
<dt>dilation_cap : str</dt>
<dd>dilation_cap = 'no', 'volumetric', 'deviatoric'</dd>
<dt>ev_cr : float</dt>
<dd>Critical volumetric strain</dd>
<dt>es_cr : float</dt>
<dd>Critical shear strain</dd>
<dt>gamma_dry : float</dt>
<dd>Dry unit weight in kN/m^3</dd>
<dt>gamma_sat : float</dt>
<dd>Saturated unit weight in kN/m^3</dd>
<dt>tension_cutoff : str</dt>
<dd>Apply tension cutoff. tension_cutoff = 'yes' or 'no'</dd>
<dt>sigma_t : str</dt>
<dd>Tensile cutoff stress, in kPa.</dd>
<dt>K0 : float</dt>
<dd>Earth pressure coefficient at rest.</dd>
<dt>hydraulic_conductivity_option : str</dt>
<dd>hydraulic_conductivity_option = 'isotropic' or 'anisotropic'</dd>
<dt>K : float</dt>
<dd>Hydraulic conductivity, in m/day.</dd>
<dt>Kx : float</dt>
<dd>Hydraulic conductivity in x, in m/day.</dd>
<dt>Ky : float</dt>
<dd>Hydraulic conductivity in y, in m/day.</dd>
<dt>Kz : float</dt>
<dd>Hydraulic conductivity in z, in m/day.</dd>
<dt>hydraulic_model : str</dt>
<dd>hydraulic_model = 'basic' or 'van_genuchten'</dd>
<dt>e : float</dt>
<dd>Void ratio.</dd>
<dt>alpha : float</dt>
<dd>Model parameter related to the air entry pressure.</dd>
<dt>n : float</dt>
<dd>Model parameter related to the rate at which water is extracted from the soil once the air entry pressure has been exceeded.</dd>
<dt>Sr : float</dt>
<dd>Residual degree of saturation (may be slightly greater than 0).</dd>
<dt>Ss : float</dt>
<dd>Fraction of water filled pores at full saturation (may be slightly less than 1).</dd>
<dt>reducible_strength : str</dt>
<dd>Apply reducible strength. reducible_strength = 'yes' or 'no'</dd>
</dl>

## Examples

```python
i = 5
model2d.add_rectangle([i,0],[i+1,2])
Face = model2d.select(p0=[i+0.5,1],types='face')
DruckerPragerMaterial = prj.DruckerPrager(name='DruckerPragerMaterial',
color=Color(r=139,g=131,b=166),
drainage='drained_undrained',
cavitation_cutoff=False,
pcav=100,
E=30,
nu=0.25,
k=5,
M=0.7,
flow_rule='non_associated',
N=5,
dilation_cap='deviatoric',
ev_cr=0.01,
es_cr=0.01,
tension_cutoff='yes',
sigma_t=0,
gamma_dry=18,
gamma_sat=20,
K0=0.58,
hydraulic_conductivity_option='anisotropic',
K=0.001,
Kx=0.001,
Ky=0.001,
Kz=0.001,
hydraulic_model='van_genuchten',
e=1,
alpha=2,
n=2,
Sr=0,
Ss=1,
reducible_strength='yes',
)
model2d.set_solid(shapes=Face,material=DruckerPragerMaterial)
```
