Dear Lawrence and Matt,

Thank you so much for your emails. I am not sure I understood correctly. In my case BDM is used for the stress (tensor), DGv for displacement (vector) and DGs for rotation (vector).
If I write something like this:

BDM = TensorFunctionSpace(mesh, "BDM", 1)
DGv = VectorFunctionSpace(mesh, "DG", 0)
DGs = VectorFunctionSpace(mesh, "DG", 0)

# Mixed function spaces
Vh_element = MixedElement([TensorElement(BDM), VectorElement(DGv), VectorElement(DGs)])
Vh = FunctionSpace(mesh, Vh_element)

I have the following error:

Traceback (most recent call last):
  File "Elasticity2D_Firedrake.py", line 116, in <module>
    BDM = TensorFunctionSpace(mesh, "BDM", 1)
  File "/home/simone/firedrake/src/firedrake/firedrake/functionspace.py", line 213, in TensorFunctionSpace
    assert sub_element.value_shape() == ()
AssertionError


Thank you so much, probably I am a little bit confused how to use these terms.
Thanks in advance, have a wonderful day.

Best regards,
Simone




On Tue, Jun 25, 2019 at 6:33 AM Matthew Knepley <knepley@gmail.com> wrote:
On Tue, Jun 25, 2019 at 7:22 AM Lawrence Mitchell <wence@gmx.li> wrote:
> On 25 Jun 2019, at 11:49, Matthew Knepley <knepley@gmail.com> wrote:
>
> On Tue, Jun 25, 2019 at 6:44 AM Ham, David A <david.ham@imperial.ac.uk> wrote:
> I *think* that the concept is that the physical cell is mapped to the reference cell, so you are pulling back reference values through that mapping to get physical values.
>
>
> Ah. I named them the opposite way :) This is a good window into how my mind works. I thought
> since the Jacobian maps reference to real (and phi for that matter) that the default direction of any
> mapping should be ref-to-real. It seems like this is the overwhelming convention in large deformations.


If you have a mapping

\phi : \hat{K} \to K

Then

\phi^* : Alt^k(K) \to Alt^k(\hat{K})

is the pullback defined by

\phi^* w(v_1, ..., v_k) = w(\phi v_1, ... \phi v_k), v_i \in \hat{K}, w \in Alt^k(K)


So at least differential geometry says the pullback goes in the opposite direction to the mapping.

Yes, exactly. So if the mapping is ref-to-real, then then pulllback should be real-to-ref, which is what I needed for
dual basis application. I needed ref-to-real for cell integration (since tabulations are in ref), which I called pushforward.

  Thanks,

     Matt
 
Lawrence


--
What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
-- Norbert Wiener

_______________________________________________
firedrake mailing list
firedrake@imperial.ac.uk
https://mailman.ic.ac.uk/mailman/listinfo/firedrake


--
Simone Puel
Ph.D. student in Geological Sciences at the University of Texas at Austin
Jackson School of Geosciences & Institute for Geophysics (UTIG)
JGB 5.332 & ROC 2.116L
+1 (737)-230-6811