libMesh
Loading...
Searching...
No Matches
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.

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 pi
.
Definition libmesh.h:292

References cavity, nu, and libMesh::pi.

◆ operator()()

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

Implements libMesh::ExactSoln.

Definition at line 95 of file exact_soln.h.

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 }

References cavity, and libMesh::pi.

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: