dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #18335
Re: [Question #111571]: update function after mesh movement
Question #111571 on DOLFIN changed:
https://answers.launchpad.net/dolfin/+question/111571
Status: Answered => Open
Patrick Riesen is still having a problem:
Anders Logg wrote:
> Question #111571 on DOLFIN changed:
> https://answers.launchpad.net/dolfin/+question/111571
>
> Status: Open => Answered
>
> Anders Logg proposed the following answer:
> On Wed, May 19, 2010 at 11:05:17AM -0000, Patrick Riesen wrote:
>> New question #111571 on DOLFIN:
>> https://answers.launchpad.net/dolfin/+question/111571
>>
>> hello dolfins
>>
>> after using mesh.move(...) in a (time-)step, i see that the vector of dofs of a function based on that mesh still correspond to the unmoved mesh, so in a next step, i need to update the function dofs to the new mesh cells.
>>
>> if i use tabulate_coordinates() and tabulate_dofs() and replace the old dofs with those evaluated at the new dof coordinates i should be fine, or is there something else i have to take into account?
>>
>> i'm not really sure what and what not is happening in dolfin concerning functions based on the mesh which is being moved.
>>
>> thank you for the support,
>> regards,
>> patrick
>
> I suggest taking this into account in your discretization (instead of
> interpolating values to the new mesh). There is nothing in DOLFIN that
> handles this automatically.
>
> Think about your finite element basis functions as being time-dependent:
>
> phi_i = phi_i(x, t)
>
> Then take that into account when you set up your space-time finite
> element discretization and note that the time derivative will hit
> phi_i(x, t), which gives rise to an additional term, the "ALE" term
> -grad(u)*w where w is the velocity of the mesh.
yes, the (material) derivative takes the ALE form
d(phi)/dt + u*grad(phi) - w*grad(phi),
where u = spatial velocity and w = mesh velocity
(and phi the trial function).
that's what i have in my ufl form + implicit euler 1/dt*(phi - phi0) on
the referential time derivative (1st term) in the ALE frame.
is that what you mean?
>
> --
> Anders
>
--
You received this question notification because you are a member of
DOLFIN Team, which is an answer contact for DOLFIN.
Follow ups
References