Dear Michael,

Although this BDB form is, as you say, ubiquitous in the literature, it is a 
consequence to using global scalar-valued shape functions everywhere as opposed 
to vector-valued shape functions that we support. So it falls out of the way 
that the finite element Ansatz is defined for a vector field. It’s definitely 
possible to write a deal.II program in this BDB form (a former colleague did 
this), but its completely not straightforward. I’m afraid to say that you’d 
have to work out all of the translation from the tensor-based, per DoF shape 
function operators to this global cell operator yourself. 

Have you looked at the finite strain solid mechanics tutorials and code gallery 
examples? They are really implementing the same thing, only with the native or 
“natural" deal.II constructs due to the use of vector-valued shape functions. 
It's easy enough to translate those tutorials to some other parameterisation, 
if need be.

Best,
Jean-Paul

> On 22. Jul 2021, at 17:47, Michael Li <lianxi...@gmail.com> wrote:
> 
> Dear Jean-Paul,
> Thank you for your information. It seems tensor is an elegant way to do the 
> computation. However I don’t know how to translate the following formulation 
> with tensor notation. The Voigt notation is used ubiquitous in the FEM 
> formulation of solid mechanics. It is straightforward to use matrix vector 
> operation as demonstrated in many references. In the following equation, the 
> B matrix (displacement-strain matrix with geometric nonlinearity) is not 
> square, so it looks like Bcannot be represented by a tensor. If I use Voigt 
> notation, then it seems I can only choose FullMatrix class which looks clumsy 
> and not fully exploiting deal.II. I suppose it can be implemented in deal.II 
> using tensor notation but just have no idea how to do that. 
>  
>                         <991EE976D38946F2A751BB07719E062B.png>
>  
> Thanks,
> Michael
>  
>  
> From: Jean-Paul Pelteret <mailto:jppelte...@gmail.com>
> Sent: Wednesday, July 21, 2021 10:45 PM
> To: dealii@googlegroups.com <mailto:dealii@googlegroups.com>
> Subject: Re: [deal.II] Matrix Multiplication
>  
> Dear Michael,
>  
> The classes that better serve your purpose are the Tensor and SymmetricTensor 
> classes:
> https://dealii.org/current/doxygen/deal.II/classTensor.html 
> <https://dealii.org/current/doxygen/deal.II/classTensor.html>
> https://dealii.org/current/doxygen/deal.II/classSymmetricTensor.html 
> <https://dealii.org/current/doxygen/deal.II/classSymmetricTensor.html>
> These classes have a number of member and non-member functions that make 
> performing the sort of operations that you listed much easier.
> There is also the unit_symmetric_tensor() function that returns the rank-2 
> identity tensor.
> https://dealii.org/current/doxygen/deal.II/classSymmetricTensor.html#a1e8821eb23f5416543aa98cf4e0f1aab
>  
> <https://dealii.org/current/doxygen/deal.II/classSymmetricTensor.html#a1e8821eb23f5416543aa98cf4e0f1aab>
>  
> Furthermore, we have a function that will compute the Green-Lagrange strain 
> tensor from a given deformation gradient tensor:
> https://dealii.org/current/doxygen/deal.II/namespacePhysics_1_1Elasticity_1_1Kinematics.html#ae607c6743e1481e02d0eb75cd4e32e78
>  
> <https://dealii.org/current/doxygen/deal.II/namespacePhysics_1_1Elasticity_1_1Kinematics.html#ae607c6743e1481e02d0eb75cd4e32e78>
>  
> I hope that this helps.
>  
> Best,
> Jean-Paul
> 
> 
> On 22. Jul 2021, at 00:39, Michael Lee <lianxi...@gmail.com 
> <mailto:lianxi...@gmail.com>> wrote:
>  
> Dear dealii users,
>  
> I want to construct a matrix . My approach is as follows.
>  
> FullMatrix<double> F(3,3) = 0.0; // deformation gradient
> FullMatrix<double> E(3,3) = 0.0; // Green strain
> FullMatrix<double> I (IdentityMatrix(3));
> F.Tmmult(E, F);
> E.add(-1, I);
> E.add(2, E);
>  
> I wonder if there is an more elegant or easier way to do the matrix 
> construction as I need to do other similar operations.
>  
> Best,
> Michael
>  
> -- 
> The deal.II project is located at http://www.dealii.org/ 
> <http://www.dealii.org/>
> For mailing list/forum options, see 
> https://groups.google.com/d/forum/dealii?hl=en 
> <https://groups.google.com/d/forum/dealii?hl=en>
> --- 
> You received this message because you are subscribed to the Google Groups 
> "deal.II User Group" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to dealii+unsubscr...@googlegroups.com 
> <mailto:dealii+unsubscr...@googlegroups.com>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/dealii/CAEyr2zhNC9RpZVjD%2B4ggHp-PCBCRz9YCtBLSyxxqqeCDE-giSA%40mail.gmail.com
>  
> <https://groups.google.com/d/msgid/dealii/CAEyr2zhNC9RpZVjD%2B4ggHp-PCBCRz9YCtBLSyxxqqeCDE-giSA%40mail.gmail.com?utm_medium=email&utm_source=footer>.
>  
> -- 
> The deal.II project is located at http://www.dealii.org/ 
> <http://www.dealii.org/>
> For mailing list/forum options, see 
> https://groups.google.com/d/forum/dealii?hl=en 
> <https://groups.google.com/d/forum/dealii?hl=en>
> --- 
> You received this message because you are subscribed to the Google Groups 
> "deal.II User Group" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to dealii+unsubscr...@googlegroups.com 
> <mailto:dealii+unsubscr...@googlegroups.com>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/dealii/6A8D385C-1E4F-4F9A-87DA-9DC57966D289%40gmail.com
>  
> <https://groups.google.com/d/msgid/dealii/6A8D385C-1E4F-4F9A-87DA-9DC57966D289%40gmail.com?utm_medium=email&utm_source=footer>.
>  
> 
> -- 
> The deal.II project is located at http://www.dealii.org/ 
> <http://www.dealii.org/>
> For mailing list/forum options, see 
> https://groups.google.com/d/forum/dealii?hl=en 
> <https://groups.google.com/d/forum/dealii?hl=en>
> --- 
> You received this message because you are subscribed to the Google Groups 
> "deal.II User Group" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to dealii+unsubscr...@googlegroups.com 
> <mailto:dealii+unsubscr...@googlegroups.com>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/dealii/F4D234B2-05F1-4DF7-B3C6-81AA828CB0D9%40hxcore.ol
>  
> <https://groups.google.com/d/msgid/dealii/F4D234B2-05F1-4DF7-B3C6-81AA828CB0D9%40hxcore.ol?utm_medium=email&utm_source=footer>.

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/AEA8E996-CA7C-4792-A508-927BB4224662%40gmail.com.

Reply via email to