# AFCO1D

This is an extension of [`ArmstrongFrederick1D`](/suanpan-manual/material/material1d/vonmises/armstrongfrederick1d.md) model.

The name represents the following.

* `AF` --- Armstrong-Frederick type kinematic hardening rule
* `CO` --- Chaboche-Ohno type isotropic hardening reduction rule

## References

1. [1840.20/26854](http://www.lib.ncsu.edu/resolver/1840.20/26854)
2. [10.1016/0013-7944(85)90095-5](https://doi.org/10.1016/0013-7944\(85\)90095-5)
3. [10.1115/1.3162603](https://doi.org/10.1115/1.3162603)

## Theory

Compared to [`ArmstrongFrederick1D`](/suanpan-manual/material/material1d/vonmises/armstrongfrederick1d.md), this `AFCO1D` model further adopts the concept of a non-hardening plastic strain region. It is described by the following surface.

$$
h=|\varepsilon^p-\theta|-r
$$

In which, $$\theta$$ points to the centre of the non-hardening plastic strain region. It may be called the back plastic strain. The field $$r$$ describes the size of this surface. It is further used to introduce a reduction term in the isotropic hardening.

$$
\sigma^y=\sigma^i+Kq+\sigma^s\left(1-e^{-m^sq}\right)-\sigma^r\left(1-e^{-m^rr}\right).
$$

Further details can be found in the corresponding section in [Constitutive Modelling Cookbook](https://github.com/TLCFEM/constitutive-modelling-cookbook/releases/download/latest/COOKBOOK.pdf).

## Syntax

```
material AFCO1D (1) (2) (3) (4) (5) (6) (7) (8) (9) [(10) (11)...] [12]
# (1) int, unique material tag
# (2) double, elastic modulus
# (3) double, yield stress, \sigma^i
# (4) double, linear isotropic hardening modulus, K
# (5) double, saturation stress, \sigma^s
# (6) double, m^s, saturation rate
# (7) double, c, between 0 and 1
# (8) double, reduction, \sigma^r
# (9) double, m^r, reduction rate
# (10) double, a, kinematic hardening
# (11) double, b, kinematic hardening
# [12] double, density, default: 0.0
```

## Examples

With a perfectly plastic response, the [`ArmstrongFrederick1D`](/suanpan-manual/material/material1d/vonmises/armstrongfrederick1d.md) presents a non-degrading envelop.

```
material ArmstrongFrederick1D 1 2E5 4E2 0 0 0
materialTest1D 1 1E-4 100 200 200 200 200 200 200 200 200 200 200 200 200 200 200 300 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400
exit
```

The cyclic response is the following.

![no degradation](/files/LNkzotfEUJF3dWjetz1V)

By introducing the reduction, one can obtain the following.

```
material AFCO1D 1 2E5 4E2 0 0 0 .2 20. 300.
materialTest1D 1 1E-4 100 200 200 200 200 200 200 200 200 200 200 200 200 200 200 300 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400
exit
```

![with degradation](/files/kW1BK3m5f4CU8AcDKAkN)


---

# Agent Instructions: 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:

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

The question should be specific, self-contained, and written in natural language.
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.
