- Thank you received: 0
Cartesian product finite element spaces
- walker_tr9
- Topic Author
- Offline
- Senior Member
Less
More
3 years 5 months ago #3802
by walker_tr9
Cartesian product finite element spaces was created by walker_tr9
I would like to create a vector valued finite element space. I know you can do VectorH1, but what if the number of components is not equal to the spatial dimension?
For example, suppose I want an H1 vector-valued function (defined on a 3-D mesh), with 5 components. How should I do it? I guess I could do this:
V = H1(mesh,order=k, dirichlet="whatever")
X = FESpace([V,V,V,V,V])
Would that work?
Also, is there a tensor-valued finite element space option? Say for symmetric matrices? That are trace-free?
For example, suppose I want an H1 vector-valued function (defined on a 3-D mesh), with 5 components. How should I do it? I guess I could do this:
V = H1(mesh,order=k, dirichlet="whatever")
X = FESpace([V,V,V,V,V])
Would that work?
Also, is there a tensor-valued finite element space option? Say for symmetric matrices? That are trace-free?
- Guosheng Fu
- Offline
- Elite Member
Less
More
- Thank you received: 6
3 years 5 months ago #3803
by Guosheng Fu
Replied by Guosheng Fu on topic Cartesian product finite element spaces
That one shall work, but you need to then build your own differential operators.
The "MatrixValued" option can do tensors, which includes full tensor, symmetric, or deviatoric tensor. I guess the symmetric deviatoric tensor might be the one you are looking for.
e.g.,
Sigma = MatrixValued(H1(mesh, order=2), mesh.dim, symmetric=True, deviatoric=True)
The "MatrixValued" option can do tensors, which includes full tensor, symmetric, or deviatoric tensor. I guess the symmetric deviatoric tensor might be the one you are looking for.
e.g.,
Sigma = MatrixValued(H1(mesh, order=2), mesh.dim, symmetric=True, deviatoric=True)
- walker_tr9
- Topic Author
- Offline
- Senior Member
Less
More
- Thank you received: 0
3 years 5 months ago #3804
by walker_tr9
Replied by walker_tr9 on topic Cartesian product finite element spaces
Thanks for this. But there isn't a way to set the number of components in VectorH1? That should be an option.
- mneunteufel
- Offline
- Premium Member
Less
More
- Thank you received: 59
3 years 5 months ago #3805
by mneunteufel
Replied by mneunteufel on topic Cartesian product finite element spaces
You can set the dimensions explicitly by
or using a product space with the syntax
Best,
Michael
Code:
fes = H1(mesh, order=k, dim=5)
Code:
fes = H1(mesh, order=k)**5
Best,
Michael
Time to create page: 0.125 seconds