Linearize the weak formulation - possible with tensors?

28 views
Skip to first unread message

Jost Arndt

unread,
Jun 21, 2023, 10:07:50 AM6/21/23
to deal.II User Group
Hey everyone,

I am trying to solve a specific reaction-diffusion system of PDEs and followed several tutorials.
I want to solve a time-dependent system of PDEs. Following tutorial-23 I discretized the time and then wanted to use FESystem as described vector valued problems or in one of the linked Tutorials.
However, I found myself having a question about a specific term:
Linearizing the weak formulation of a product of two functions, i.e. in the original equation the term f*g appears, both f,g are real-valued functions. The weak formulation looks therefore somehow like (f*g, \phi).
This term appears implicitly and explicitly (i.e. f,g are sometimes known, sometimes both unknown).
I was wondering if there is a tidy version to linearize this in kind of a 3D Tensor?
As an example in Tutorial-23 (f,\phi) gets linearized into A * b, A being a Matrix of the products of base functions and b only the parameter vector of f.

Especially since for every time step, I would reuse the Tensor consisting only of basis functions.
Worst case I would have to use Newton's Method (tutorial-15) if I understand everything so far correctly. Or is there a tutorial doing exactly what I was looking for that I did not see?

Thank you so much already for your help!

Wolfgang Bangerth

unread,
Jun 21, 2023, 5:51:06 PM6/21/23
to dea...@googlegroups.com
On 6/21/23 08:07, 'Jost Arndt' via deal.II User Group wrote:
> Linearizing the weak formulation of a product of two functions, i.e. in the
> original equation the term f*g appears, both f,g are real-valued functions.
> The weak formulation looks therefore somehow like (f*g, \phi).
> This term appears implicitly and explicitly (i.e. f,g are sometimes known,
> sometimes both unknown).
> I was wondering if there is a tidy version to linearize this in kind of a 3D
> Tensor?
> As an example in Tutorial-23 (f,\phi) gets linearized into A * b, A being a
> Matrix of the products of base functions and b only the parameter vector of f.

Having read over this a number of times, I must admit that I still don't quite
understand what you want to do. Can you be more concrete what you want to do,
and how? Are you asking what happens when both f and g are finite element
functions, and whether one can write
(f*g, \phi_i)
in a more elegant way?

Best
W.

--
------------------------------------------------------------------------
Wolfgang Bangerth email: bang...@colostate.edu
www: http://www.math.colostate.edu/~bangerth/


Message has been deleted

Wolfgang Bangerth

unread,
Jun 22, 2023, 11:37:16 PM6/22/23
to dea...@googlegroups.com
On 6/22/23 04:06, 'Jost Arndt' via deal.II User Group wrote:
> N_{i,j} F, with N_{i,j,k} = (\phi_i \phi_k, \phi_j)
>
> ?

This would be a third order tensor. It would be sparse, because only those
entries ijk are nonzero where phi_i, phi_j, and phi_k overlap. But that would
still be quite a lot of entries. A back of the envelope calculation would be
that it's 10-100 times more memory than the mass matrix, depending on the
space dimension and the polynomial degree you use. That's not likely going to
fit into your computer's memory for all but the smallest problems :-)


> Or do I simply have to use a Newton solver for  (f g, \phi) for f and g?

It does not actually change anything. The N tensor above is just a convenient
way to write (f g, phi), but the problem is still nonlinear. If you need to
solve for both f and g, you're stuck with a nonlinear problem for which
Newton's method is one way to do it.
Reply all
Reply to author
Forward
0 new messages