Hi, everyone!

I'm trying to implement an example with hypoelastic material, i.e. a material whose stress-strain relationship is given in rate-form:

$$

d_stress = E : d_strain

$$

The linear elastic material is a subset of this, but one can obtain different types of behavior with non-constant E.

I tried two approaches (enclosed), both contain the balance equation in rate-form. The equation consists of a single `dw_lin_elastic_iso` term in both cases.

When displacements are prescribed, the problem is not solved as expected: the solution is zero everywhere except where the EBCs are prescribed.

The approach with two fields (displacement and velocity) works with boundary conditions prescribed for velocities. Actually, the second field (displacements) is present only to directly output displacements, since I am not interested in velocities.

My questions:

- Is the above described behavior correct in Sfepy? Is it a bug/feature?

There is also the possibility that the formulations are not equivalent, but I can't see it now.

- What is the difference between the [hypo]elastic term and e.g. diffusion? (There is a time-derivative term in `time_poisson_interactive.py` together with Dirichlet boundary conditions and everything seems to work.)

Is it the fact that there is no term without time derivative in the balance equation? I guess not - I tried to add an elastic term (multiplied by either 0, 1e-4), but that doesn't change the results much.

Thanks,

Jan

I'm trying to implement an example with hypoelastic material, i.e. a material whose stress-strain relationship is given in rate-form:

$$

d_stress = E : d_strain

$$

The linear elastic material is a subset of this, but one can obtain different types of behavior with non-constant E.

I tried two approaches (enclosed), both contain the balance equation in rate-form. The equation consists of a single `dw_lin_elastic_iso` term in both cases.

When displacements are prescribed, the problem is not solved as expected: the solution is zero everywhere except where the EBCs are prescribed.

The approach with two fields (displacement and velocity) works with boundary conditions prescribed for velocities. Actually, the second field (displacements) is present only to directly output displacements, since I am not interested in velocities.

My questions:

- Is the above described behavior correct in Sfepy? Is it a bug/feature?

There is also the possibility that the formulations are not equivalent, but I can't see it now.

- What is the difference between the [hypo]elastic term and e.g. diffusion? (There is a time-derivative term in `time_poisson_interactive.py` together with Dirichlet boundary conditions and everything seems to work.)

Is it the fact that there is no term without time derivative in the balance equation? I guess not - I tried to add an elastic term (multiplied by either 0, 1e-4), but that doesn't change the results much.

Thanks,

Jan