libMesh
Public Member Functions | Private Attributes | List of all members
libMesh::VSoln Class Reference

#include <exact_soln.h>

Inheritance diagram for libMesh::VSoln:
[legend]

Public Member Functions

 VSoln (const Real nu_in, const bool cavity_in)
 
Real operator() (const Point &p) const override
 
Real forcing (const Point &p) const override
 

Private Attributes

const Real nu
 
const bool cavity
 

Detailed Description

Definition at line 90 of file exact_soln.h.

Constructor & Destructor Documentation

◆ VSoln()

libMesh::VSoln::VSoln ( const Real  nu_in,
const bool  cavity_in 
)
inline

Definition at line 93 of file exact_soln.h.

93 : nu(nu_in), cavity(cavity_in) {}
const Real nu
Definition: exact_soln.h:129
const bool cavity
Definition: exact_soln.h:130

Member Function Documentation

◆ forcing()

Real libMesh::VSoln::forcing ( const Point p) const
inlineoverridevirtual

Implements libMesh::ExactSoln.

Definition at line 105 of file exact_soln.h.

References cavity, nu, and libMesh::pi.

106  {
107  const auto x = p(0);
108  const auto y = p(1);
109  if (cavity)
110  return nu * sin(x) * cos((1. / 2) * y * pi) +
111  (1. / 4) * pi * pi * nu * sin(x) * cos((1. / 2) * y * pi) -
112  pi * sin(x) * sin(x) * sin((1. / 2) * y * pi) * cos((1. / 2) * y * pi) -
113  1. / 2 * pi * sin(x) * sin(y) * sin((1. / 2) * x * pi) * cos((1. / 2) * y * pi) +
114  sin(y) * cos(x) * cos((1. / 2) * x * pi) * cos((1. / 2) * y * pi) + sin(x) * cos(y);
115  else
116  {
117  const auto quant1 = sin((1. / 4) * x * pi);
118  return (5. / 16) * pi * pi * nu * sin((1. / 4) * x * pi) * cos((1. / 2) * y * pi) -
119  pi * quant1 * quant1 * sin((1. / 2) * y * pi) * cos((1. / 2) * y * pi) -
120  1. / 2 * pi * sin((1. / 4) * x * pi) * sin((1. / 2) * x * pi) *
121  sin((1. / 2) * y * pi) * cos((1. / 2) * y * pi) +
122  (1. / 4) * pi * sin((1. / 2) * y * pi) * cos((1. / 4) * x * pi) *
123  cos((1. / 2) * x * pi) * cos((1. / 2) * y * pi) +
124  (3. / 2) * pi * cos((1. / 4) * x * pi) * cos((3. / 2) * y * pi);
125  }
126  }
const Real nu
Definition: exact_soln.h:129
const bool cavity
Definition: exact_soln.h:130
const Real pi
.
Definition: libmesh.h:299

◆ operator()()

Real libMesh::VSoln::operator() ( const Point p) const
inlineoverridevirtual

Implements libMesh::ExactSoln.

Definition at line 95 of file exact_soln.h.

References cavity, and libMesh::pi.

96  {
97  const auto x = p(0);
98  const auto y = p(1);
99  if (cavity)
100  return sin(x) * cos((1. / 2) * y * pi);
101  else
102  return sin((1. / 4) * x * pi) * cos((1. / 2) * y * pi);
103  }
const bool cavity
Definition: exact_soln.h:130
const Real pi
.
Definition: libmesh.h:299

Member Data Documentation

◆ cavity

const bool libMesh::VSoln::cavity
private

Definition at line 130 of file exact_soln.h.

Referenced by forcing(), and operator()().

◆ nu

const Real libMesh::VSoln::nu
private

Definition at line 129 of file exact_soln.h.

Referenced by forcing().


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