File: sobolev-spaces.cpp

package info (click to toggle)
fenics-basix 0.10.0.post0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 3,156 kB
  • sloc: cpp: 23,435; python: 10,829; makefile: 43; sh: 26
file content (39 lines) | stat: -rw-r--r-- 966 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// Copyright (c) 2022 Matthew Scroggs
// FEniCS Project
// SPDX-License-Identifier:    MIT

#include "sobolev-spaces.h"

basix::sobolev::space basix::sobolev::space_intersection(space space1,
                                                         space space2)
{
  if (space1 == space2)
    return space1;

  if (space1 == space::H1)
  {
    if (space2 == space::H2 or space2 == space::H3 or space2 == space::HInf)
      return space1;
  }
  else if (space1 == space::H2)
  {
    if (space2 == space::H1)
      return space2;
    else if (space2 == space::H3 or space2 == space::HInf)
      return space1;
  }
  else if (space1 == space::H3)
  {
    if (space2 == space::H1 or space2 == space::H2)
      return space2;
    else if (space2 == space::H3 or space2 == space::HInf)
      return space1;
  }
  else if (space1 == space::HInf)
  {
    if (space2 == space::H1 or space2 == space::H2 or space2 == space::H3)
      return space2;
  }

  return space::L2;
}