You can use MATS1 in Optistruct. You can define stress train curves (in TABLE entity) or bilinear (slope).
See Optistruct manual:
Bulk Data Entry Specifies stress-dependent and temperature-dependent material properties for use in applications involving nonlinear materials. This entry is used if a MAT1 entry is specified with the same MID in a nonlinear subcase.
For nonlinear elastic material, the stress-strain data given in the TABLES1 or TABLEG entry will be used to determine the stress for a given value of strain. The values H, YF, HR, and LIMIT1 will not be used in this case. Nonlinear elastic material is only available in EXPDYN subcases.
For elastoplastic materials, the elastic stress-strain matrix is computed from a MAT1 entry, and the isotropic plasticity theory is used to perform the plastic analysis. In this case, either the table identification TID or the work hardening slope HH may be specified, but not both. If the TID is omitted, the work hardening slope HH must be specified, unless the material is perfectly plastic. The plasticity modulus ( HH ) is related to the tangential modulus ( ETET ) by:
Where, EE is the elastic modulus and ET=dY/dεET=dY/dε is the slope of the uniaxial stress-strain curve in the plastic region.
If TID is given, TABLES1 or TABLEG entries (Xi,Yi) of stress-strain data ( εε x,Yx) must conform to the following rules:
If TYPE=PLASTIC, the curve must be defined in the first quadrant. The data points must be in ascending order. If the table is defined in terms of total strain (TYPSTRN=0), the first point must be at the origin (X1=0, Y1=0) and the second point (X2, Y2) must be at the initial yield point (Y1) specified on the MATS1 entry. The slope of the line joining the origin to the yield stress must be equal to the value of E. If the table is defined in terms of plastic strain (TYPSTRN=1), the first point (X1, Y1), corresponding to yield point (Y1), must be at X1=0. TID may reference a TABLEST entry. In this case, the above rules apply to all TABLES1 tables pointed to by TABLEST.
If TYPE=NLELAST, the full stress-strain curve may be defined in the first and third quadrants to accommodate different uniaxial compression data. If the curve is defined only in the first quadrant, then the curve must start at the origin (X1=0.0, Y1=0.0).
For analysis where small deformations are assumed, there should be little or no difference between the true stress-strain curve and the engineering stress-strain curve, so either of them may be used in the TABLES1 definition. For analyses where small deformations are not assumed, the true stress-strain curve should be used.
If the deformations go past the values defined in the table, the curve is extrapolated linearly.