18 double dx =
L/(varnum-1);
19 double dt =
pow(dx,2);
20 double A = dt/2.0/
pow(dx,2);
26 for(
int i=0;
i<varnum;
i++) {
31 for(
int j=1;
j<varnum;
j++){
35 for(
int k=0;
k<varnum-1;
k++){
44 Eigen::VectorXd
T(varnum),
K(varnum);
45 for(
int i=0;
i<varnum;
i++)
48 for(
int j=1;
j<varnum-1;
j++){
51 K(0) = -
T(0)-
A*(
T(1)-2*
T(0));
52 K(varnum-1) = -
T(varnum-1)-
A*(1-2*
T(varnum-1)+
T(varnum-2))-
A;
57 for(
double t=0;
t<dt*100;
t+=dt){
61 for(
int j=1;
j<varnum-1;
j++){
64 K(0) = -
T(0)-
A*(
T(1)-2*
T(0));
65 K(varnum-1) = -
T(varnum-1)-
A*(1-2*
T(varnum-1)+
T(varnum-2))-
A;
68 std::cout <<
"t=" <<
t <<
"s" <<
"\t" <<
T(0) <<
"\t" <<
T((varnum-1)*1/4) <<
"\t" <<
T((varnum-1)/2) <<
"\t" <<
T((varnum-1)*3/4) <<
"\t" <<
T(varnum-1)<< std::endl;
BiCGSTAB< SparseMatrix< double > > solver
Definition: BiCGSTAB_simple.cpp:5
int i
Definition: BiCGSTAB_step_by_step.cpp:9
Array< double, 1, 3 > e(1./3., 0.5, 2.)
std::vector< T > tripletList
Definition: EigenUnitTest.cpp:12
Eigen::Triplet< double > T
Definition: EigenUnitTest.cpp:11
MatrixXd L
Definition: LLT_example.cpp:6
Matrix< SCALARA, Dynamic, Dynamic, opt_A > A
Definition: bench_gemm.cpp:47
Matrix< Scalar, Dynamic, Dynamic > C
Definition: bench_gemm.cpp:49
EIGEN_DEVICE_FUNC const GlobalUnaryPowReturnType< Derived, ScalarExponent > pow(const Eigen::ArrayBase< Derived > &x, const ScalarExponent &exponent)
Definition: GlobalFunctions.h:137
A conjugate gradient solver for sparse (or dense) self-adjoint problems.
Definition: ConjugateGradient.h:152
Definition: matrices.h:74
char char char int int * k
Definition: level2_impl.h:374
double K
Wave number.
Definition: sphere_scattering.cc:115
void check(double real, double ideal, double error, std::string errorMessage)
Definition: TestHelpers.cc:16
t
Definition: plotPSD.py:36
std::ptrdiff_t j
Definition: tut_arithmetic_redux_minmax.cpp:2