libMesh
Public Member Functions | List of all members
CurlCurlExactSolution Class Reference

#include <curl_curl_exact_solution.h>

Public Member Functions

 CurlCurlExactSolution ()=default
 
 ~CurlCurlExactSolution ()=default
 
RealGradient operator() (Real x, Real y)
 
RealTensor grad (Real x, Real y)
 
RealGradient curl (Real x, Real y)
 
RealGradient forcing (Real x, Real y)
 
 CurlCurlExactSolution ()=default
 
 ~CurlCurlExactSolution ()=default
 
RealGradient operator() (Real x, Real y, Real z)
 
RealTensor grad (Real x, Real y, Real z)
 
RealGradient curl (Real x, Real y, Real z)
 
RealGradient forcing (Real x, Real y, Real z)
 

Detailed Description

Definition at line 26 of file curl_curl_exact_solution.h.

Constructor & Destructor Documentation

◆ CurlCurlExactSolution() [1/2]

CurlCurlExactSolution::CurlCurlExactSolution ( )
default

◆ ~CurlCurlExactSolution() [1/2]

CurlCurlExactSolution::~CurlCurlExactSolution ( )
default

◆ CurlCurlExactSolution() [2/2]

CurlCurlExactSolution::CurlCurlExactSolution ( )
default

◆ ~CurlCurlExactSolution() [2/2]

CurlCurlExactSolution::~CurlCurlExactSolution ( )
default

Member Function Documentation

◆ curl() [1/2]

RealGradient CurlCurlExactSolution::curl ( Real  x,
Real  y 
)
inline

Definition at line 50 of file curl_curl_exact_solution.h.

References libMesh::pi, and libMesh::Real.

51  {
52  const Real dux_dy = pi*cos(pi*x)*cos(pi*y);
53  const Real duy_dx = -pi*cos(pi*x)*cos(pi*y);
54 
55  return RealGradient(Real(0), Real(0), duy_dx - dux_dy);
56  }
RealVectorValue RealGradient
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Real pi
.
Definition: libmesh.h:274

◆ curl() [2/2]

RealGradient CurlCurlExactSolution::curl ( Real  x,
Real  y,
Real  z 
)
inline

Definition at line 58 of file curl_curl_exact_solution.h.

References libMesh::Real.

59  {
60  const Real duz_dy = (1.0 - x*x)*(-2.0*y);
61  const Real duy_dz = (1.0 - x*x)*(-2.0*z);
62 
63  const Real dux_dz = (1.0 - y*y)*(-2.0*z);
64  const Real duz_dx = (1.0 - y*y)*(-2.0*x);
65 
66  const Real dux_dy = (1.0 - z*z)*(-2.0*y);
67  const Real duy_dx = (1.0 - z*z)*(-2.0*x);
68 
69  return RealGradient(duz_dy - duy_dz, dux_dz - duz_dx, duy_dx - dux_dy);
70  }
RealVectorValue RealGradient
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

◆ forcing() [1/2]

RealGradient CurlCurlExactSolution::forcing ( Real  x,
Real  y 
)
inline

Definition at line 58 of file curl_curl_exact_solution.h.

References libMesh::pi, and libMesh::Real.

Referenced by CurlCurlSystem::forcing().

59  {
60  const Real fx = (2*pi*pi + 1)*cos(pi*x)*sin(pi*y);
61  const Real fy = -(2*pi*pi + 1)*sin(pi*x)*cos(pi*y);
62 
63  return RealGradient(fx, fy);
64  }
RealVectorValue RealGradient
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Real pi
.
Definition: libmesh.h:274

◆ forcing() [2/2]

RealGradient CurlCurlExactSolution::forcing ( Real  x,
Real  y,
Real  z 
)
inline

Definition at line 72 of file curl_curl_exact_solution.h.

References libMesh::Real.

73  {
74  const Real fx = 2.0*(1.0 - y*y) + 2.0*(1.0 - z*z) + (1.0 - y*y)*(1.0 - z*z);
75  const Real fy = 2.0*(1.0 - x*x) + 2.0*(1.0 - z*z) + (1.0 - x*x)*(1.0 - z*z);
76  const Real fz = 2.0*(1.0 - x*x) + 2.0*(1.0 - y*y) + (1.0 - x*x)*(1.0 - y*y);
77 
78  return RealGradient(fx, fy, fz);
79  }
RealVectorValue RealGradient
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

◆ grad() [1/2]

RealTensor CurlCurlExactSolution::grad ( Real  x,
Real  y 
)
inline

Definition at line 40 of file curl_curl_exact_solution.h.

References libMesh::pi, and libMesh::Real.

41  {
42  const Real dux_dx = -pi*sin(pi*x)*sin(pi*y);
43  const Real dux_dy = pi*cos(pi*x)*cos(pi*y);
44  const Real duy_dx = -pi*cos(pi*x)*cos(pi*y);
45  const Real duy_dy = pi*sin(pi*x)*sin(pi*y);
46 
47  return RealTensor(dux_dx, dux_dy, Real(0), duy_dx, duy_dy);
48  }
RealTensorValue RealTensor
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Real pi
.
Definition: libmesh.h:274

◆ grad() [2/2]

RealTensor CurlCurlExactSolution::grad ( Real  x,
Real  y,
Real  z 
)
inline

Definition at line 41 of file curl_curl_exact_solution.h.

References libMesh::Real.

42  {
43  const Real dux_dx = 0.0;
44  const Real dux_dy = (1.0 - z*z)*(-2.0*y);
45  const Real dux_dz = (1.0 - y*y)*(-2.0*z);
46 
47  const Real duy_dx = (1.0 - z*z)*(-2.0*x);
48  const Real duy_dy = 0.0;
49  const Real duy_dz = (1.0 - x*x)*(-2.0*z);
50 
51  const Real duz_dx = (1.0 - y*y)*(-2.0*x);
52  const Real duz_dy = (1.0 - x*x)*(-2.0*y);
53  const Real duz_dz = 0.0;
54 
55  return RealTensor(dux_dx, dux_dy, dux_dz, duy_dx, duy_dy, duy_dz, duz_dx, duz_dy, duz_dz);
56  }
RealTensorValue RealTensor
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

◆ operator()() [1/2]

RealGradient CurlCurlExactSolution::operator() ( Real  x,
Real  y,
Real  z 
)
inline

Definition at line 32 of file curl_curl_exact_solution.h.

References libMesh::Real.

33  {
34  const Real ux = (1.0 - y*y)*(1.0 - z*z);
35  const Real uy = (1.0 - x*x)*(1.0 - z*z);
36  const Real uz = (1.0 - x*x)*(1.0 - y*y);
37 
38  return RealGradient(ux, uy, uz);
39  }
RealVectorValue RealGradient
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

◆ operator()() [2/2]

RealGradient CurlCurlExactSolution::operator() ( Real  x,
Real  y 
)
inline

Definition at line 32 of file curl_curl_exact_solution.h.

References libMesh::pi, and libMesh::Real.

33  {
34  const Real ux = cos(pi*x)*sin(pi*y);
35  const Real uy = -sin(pi*x)*cos(pi*y);
36 
37  return RealGradient(ux, uy);
38  }
RealVectorValue RealGradient
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Real pi
.
Definition: libmesh.h:274

The documentation for this class was generated from the following file: