Hi Robert,

Should I prescribe Dijkl to each vertex like the prestress, or only need to prescribe to each element?
Besides, if using strain = pb.evaluate('ev_cauchy_strain.2.Omega(u)', mode='el_avg'), the shear value in strain is sigma_xy or 2*sigma_xy?

Regards
Ronghai         


在 2014年11月26日星期三UTC+1下午3时14分44秒,Robert Cimrman写道:
On 11/26/2014 02:39 PM, Ronghai Wu wrote:
> Hi Robert,
>
> Now I encounter a more complicated case. What if the stiffness tensor is
> not constant, but a function of eta, as shown in PDF "non-constant elastic
> tensor.pdf". Is it possible to implement it based on the modified code
> "Ronghai.py"?

So eta is a known function of position? This can be done by a material
parameter given by a user-defined function again [1], just like you do the
prestress.

The function would be something like:

def get_d(ts, coors, mode=None, **kwargs):
     if mode == 'qp':
         x = coors[:, 0]
         y = coors[:, 1]

         value = ...

         return {'D' : value}

and in the code, use something like:

d_fun = Function('d_fun', get_d)
m = Material('m', function=d_fun)

Also, if you need to work with the elastic tensors, use dw_lin_elastic term
instead of dw_lin_elastic_iso.

r.
[1] http://sfepy.org/doc-devel/users_guide.html#defining-material-parameters

> Regards
> Ronghai
>
> 在 2014年11月15日星期六UTC+1下午7时02分31秒,Robert Cimrman写道:
>>
>> On 11/14/2014 06:02 PM, Ronghai Wu wrote:
>>> Hi Robert,
>>>
>>> I have some explanations of fipy and my idea. Please see attached PDF.
>> If
>>> you need more information, please just ask.
>>
>> That's fine, thanks. I have modified your file and it runs. Note that you
>> still
>> need to specify some boundary conditions so that the matrix is not
>> singular.
>>
>> r.
>>
>>
>