9#ifndef dtn_map2d_visc_hh
10#define dtn_map2d_visc_hh
19#include "function/vector.hh"
20#include "operator/sparseMatrix.hh"
39 a = (2.0*j*M_PI/L)*(2.0*j*M_PI/L);
41#if __cplusplus >= 201103L
64 a = (2.0*j*M_PI/L)*(2.0*j*M_PI/L)
65 - (c*c*omega*omega)/(c*c*c*c+omega*omega*nu*nu/(
rho0*
rho0));
66 b = -(nu/
rho0*omega*omega*omega)/(c*c*c*c+omega*omega*nu*nu/(
rho0*
rho0));
67#if __cplusplus >= 201103L
88#if __cplusplus >= 201103L
89 g.real(-c*c*
rho0*(2.0*j*M_PI/L)*(2.0*j*M_PI/L));
92 g.real() = -c*c*
rho0*(2.0*j*M_PI/L)*(2.0*j*M_PI/L);
109#if __cplusplus >= 201103L
110 g.real(omega*omega*
rho0-c*c*
rho0*(2.0*j*M_PI/L)*(2.0*j*M_PI/L)
111 - (omega*omega*omega*omega*nu*nu/
rho0)/(c*c*c*c+nu*nu*omega*omega/(
rho0*
rho0)));
112 g.imag(omega*omega*omega*nu*c*c/(c*c*c*c+nu*nu*omega*omega/(
rho0*
rho0)));
114 g.real() = omega*omega*
rho0-c*c*
rho0*(2.0*j*M_PI/L)*(2.0*j*M_PI/L)
115 - (omega*omega*omega*omega*nu*nu/
rho0)/(c*c*c*c+nu*nu*omega*omega/(
rho0*
rho0));
116 g.imag() = omega*omega*omega*nu*c*c/(c*c*c*c+nu*nu*omega*omega/(
rho0*
rho0));
134 for(
uint j=1;j <=
N; j++)
156 for(
uint j=0;j <
N; j++)
162 DtNCoeff[j] = 2.0 * (j+1) * M_PI / L
163 - 1.0 / (c*c*
rho0 * 2.0 * (j+1) * M_PI / L)
179 for(
uint j=0;j <
N; j++)
185 DtNCoeff[j] = - 1.0 / (c*c*
rho0 *2.0 * (j+1) * M_PI / L)
201 for(
uint j=0;j <
N; j++)
207 DtNCoeff[j] = nu * 2.0 * (j+1) * M_PI / L
208 + c*c*
rho0 * 2.0 * (j+1) * M_PI / L
224 for(
uint j=0;j <
N; j++)
247 for(
uint j=1;j <=
N; j++)
Cmplx g_slow(const Real L, const Real omega, const Real c, const Real rho0, const Real nu, const uint j)
Cmplx g_fast(const Real L, const Real omega, const Real c, const Real rho0, const Real nu, const uint j)
Sequence< int > makeRangeSequence(uint n)
Returns the sequence 0,1,...,n-1.
Set< F > makeSet(uint n, const F &first,...)
Cmplx lambda_j_slow(const Real L, const Real omega, const Real c, const Real rho0, const Real nu, const uint j)
std::complex< Real > Cmplx
Type for a complex number. It also depends on the setting of Real.
Cmplx lambda_j_fast(const Real L, const Real omega, const Real c, const Real rho0, const Real nu, const uint j)