Skip to content

Generalize C1 orthogonal collocation helpers #1

@ivan-pi

Description

@ivan-pi

void prepare_edge_matrix_and_rhs(

This function help solves the algebraic equations for time-dependent problems. A description can be found here: https://faculty.washington.edu/finlayso/ebook/pde/OC/OCFE.htm

We should keep this function specific to

  • axisymmetric solutions with symmetry at the center-line
  • fixed-length intervals

We should generalize this function to:

  • arbitrary polynomial order; a little more effort now, but it will pay off
  • general boundary conditions on the right side

We should adapt the function to capture general linear Robin boundary conditions:

$$ au + bu' = c $$

// Either a or b must be nonzero, else the problem is undefined!
assert(a != 0.0 || b != 0.0); 

if (b) {
   if (a) {
      // Robin
   } else {
      // Neumann
   }
} else {
   // Dirichlet
}

Open question remains how to deal with more general non-linear conditions of the form,

$$ a(t,x,u) + b(t,x)u' = c(t,x) $$

or even non-local ones,

$$ \int_\Omega u(x) d\Omega = p(x,u(x))|_{\Gamma} $$

I'm guessing in this case, the explicit ODE form is inappropriate anyways, and we need a solver that can deal with the more general DAE form $F(t,y,y') = 0$.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions