Hello Xiao,

Regarding how to build a Function from a nodal field, here is what Wolfgang posted a couple days ago on this mailing list:

Evaluating the solution at arbitrary points is of course an expensive
operation since you first have to find the cell in which the point lies, then
do the inverse transform to see what its reference coordinates are within this
cell, and then evaluate the shape functions at these references coordinates.

There are two pieces of functionality in deal.II that can help you:
- the VectorTools::point_value function that evaluates a FE field at an
  arbitrary point
- the FEFieldFunction that presents a FE field as a continuous function
  that can be evaluated like functions of type Function<dim>
I don't know if these two provide you with all that you need, but you may want
to look at the implementation of these functions/classes to see how this can
be done. In particular, if for example your mesh is a uniformly refined box,
then the computation of the inverse transform can be done more efficiently by
hand (or by using the MappingCartesian class).

Also, regarding how to deal with time dependent problems, you should maybe have a look at stpe-18: it deals with quasi-static elasticity with large deformations.

Hope that helps,
Martin.





On 04/05/2011 07:08 AM, Xiao Liu wrote:
Hi,

I'm study the example step-8 now and I want to write a code for a vector
valued nonlinear PDE with time.

In the step-8, it is like construct a right hand side function and a
system matrix, then we can solve the linear system and the solution
which is a vector. But if there is time variable in the equation, how
can we use the solution vector to get a new "right hand side function"
so that we can move to the next time step?

Thank you very much!
Xiao
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii

Reply via email to