> For the complete documentation index, see [llms.txt](https://tlcfem.gitbook.io/suanpan-manual/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tlcfem.gitbook.io/suanpan-manual/material/material1d/vonmises/custommises1d.md).

# CustomMises1D

J2 Plasticity Model With Custom Hardening

## Theory

This model is an implementation of the [`Mises1D`](/suanpan-manual/material/material1d/vonmises/mises1d.md) abstract model.

## Syntax

```
material CustomMises1D (1) (2) (3) (4) [5]
# (1) int, unique material tag
# (2) double, elastic modulus
# (3) int, isotropic hardening expression tag
# (4) int, kinematic hardening expression tag
# [5] double, density, default: 0.0
```

## Usage

Both the isotropic and kinematic hardening functions are provided by [Expression](/suanpan-manual/command-collection/define/expression.md) objects.

Both hardening functions shall be defined in terms of the equivalent plastic strain.

The isotropic hardening function evaluates to the yield stress for trivial equivalent plastic strain.

***The expressions shall be able to compute derivatives.***

## Example

### Isotropic Hardening

For example, one can define a purely isotropic hardening model as follows:

```
expression SimpleScalar 1 x 10+.5x
expression SimpleScalar 2 x 0

material CustomMises1D 1 10 1 2

materialTest1D 1 1E-2 150 150 200 200 250
```

In the above example, the isotropic hardening function is defined as:

$$
y=10+0.5x,
$$

in which $$x$$ maps to the equivalent plastic strain and $$y$$ maps to the shifted stress.

The kinematic hardening function is defined as:

$$
y=0.
$$

For elastic modulus of $$E=10$$, the isotropic hardening ratio satisfies:

$$
0.5=E\dfrac{H}{1-H},
$$

solving which yields $$H=0.04762$$.

The last point is $$11.190476190476174$$, then

$$
\dfrac{10.714285714285706-10}{2.5-1}=0.04762E.
$$

![isotropic hardening](/files/Q0UztXef3Uq49DiH7Hb3)

### Kinematic Hardening

```
expression SimpleScalar 1 x 10
expression SimpleScalar 2 x .1x

material CustomMises1D 1 10 1 2
materialTest1D 1 1E-2 150 100 150 100 150
```

In the above example, purely kinematic hardening is defined.

The hardening ratio is $$0.1/(E+0.1)=0.0099$$.

The last point is $$10.074626865671641$$, then

$$
\dfrac{10.148514851485146-10}{2.5-1}=0.0099.
$$

![kinematic hardening](/files/6HnqWn3y4zYzV4vM6W1q)

With custom functions, it is possible to define arbitrary hardening rules.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://tlcfem.gitbook.io/suanpan-manual/material/material1d/vonmises/custommises1d.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
