Bartosz Sawicki wrote:
> On 01/12/08 09:33 AM, Garth N. Wells wrote:
>>
>>
>> Bartosz Sawicki wrote:
>>> On 01/12/08 09:07 AM, Garth N. Wells wrote:
>>>>
>>>> Bartosz Sawicki wrote:
>>>>> Hi all,
>>>>>
>>>>> I can't find anything in the manuals, any example in the demo
>>>>> directory and even google is silent like a grave, when asked for
>>>>> "anisotropy site:fenics.org".
>>>>> Does it mean that anisotropy is not supported by FEniCS?
>>>>>
>>>> Can you be more specific on what you have in mind?
>>>
>>> My question is, if anyone has already tried to solve any anisotropic
>>> problem with fenics?
>>>
>>> One of the problems, which come to my mind is that for anisotropic
>>> material I need at tensor function for material property. Can FFC
>>> handle this?
>>>
>>
>> Just define the equation you want to solve and try compiling it with
>> FFC. For an anisotropic solid, part of this will involve defining the
>> constitutive model. The DOLFIN library shouldn't need to be (nor
>> should it be) aware of the details of the constitutive model.
>
> Yes, I know that, but there is a problem with anisotropic material
> property which is in general case described by tensor.
>
> Let's look on example. Simple Poisson equation form:
>
> element = FiniteElement("Lagrange", "tetrahedron", 1)
> v = TestFunction(element)
> u = TrialFunction(element)
> f = Function(element)
> g = Function(element)
> k = Constant("tetrahedron")
> a = k*dot(grad(v), grad(u))*dx
> L = v*f*dx + v*g*ds
>
> In case of anisotropy, k (material property) shouldn't be "scalar
> constant", but rather "tensor constant" over the element.
>
> For Poisson I can manage with "vector constant", but that's definitely
> not a general approach:
> k = VectorConstant("tetrahedron")
> a = (k[0]*D(v,0)*D(u,0) + k[1]*D(v,1)*D(u,1) + k[2]*D(v,2)*D(u,2))*dx
>
> How would you advice to describe tensor function or tensor constant in
> the form? Is it possible?
>
As Anders suggested, if you have a second-order tensor you need to
flatten it into a vector. This is done extensively in the FEniCS Apps
plasticity solver,
http://www.fenics.org/wiki/FEniCS_Plasticity
It is a good place to look for examples.
Garth
> BArtek
>
>
>>
>> Garth
>>
>>> BArtek
>>>
>>>
>>>> Garth
>>>>
>>>>> Strange, this seams to be quite easy to develop. Or maybe just no
>>>>> one needed that feature so far.
>>>>>
>>>>> BArtek
>>>>> _______________________________________________
>>>>> DOLFIN-dev mailing list
>>>>> [email protected]
>>>>> http://www.fenics.org/mailman/listinfo/dolfin-dev
>>>>
>>>
>>> _______________________________________________
>>> DOLFIN-dev mailing list
>>> [email protected]
>>> http://www.fenics.org/mailman/listinfo/dolfin-dev
>>
>
_______________________________________________
DOLFIN-dev mailing list
[email protected]
http://www.fenics.org/mailman/listinfo/dolfin-dev