///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// Driver for RectangularDrivenCavity test problem – test drive with two different types of element.
296 cout <<
"Running through matrix-matrix multiplication methods" << endl;
297 cout <<
"----------------------------------------------------" << endl;
299 cout <<
"Multiplying " << CR_matrix1_pt->
ncol()
300 <<
" x " << CR_matrix1_pt->
nrow()
301 <<
" matrix by a " << CR_matrix2_pt->
ncol()
302 <<
" x " << CR_matrix1_pt->
nrow()
303 <<
" matrix" << endl;
305 cout <<
"CRDoubleMatrix method 1 " << endl;
307 CR_matrix1_pt->
multiply(*CR_matrix2_pt, *CR_result1_pt);
309 cout <<
"CRDoubleMatrix method 2 " << endl;
311 CR_matrix1_pt->
multiply(*CR_matrix2_pt, *CR_result2_pt);
313 cout <<
"CRDoubleMatrix method 3 " << endl;
315 CR_matrix1_pt->
multiply(*CR_matrix2_pt, *CR_result3_pt);
317 cout <<
"CCDoubleMatrix method 1 " << endl;
319 CC_matrix1_pt->
multiply(*CC_matrix2_pt, *CC_result1_pt);
321 cout <<
"CCDoubleMatrix method 2 " << endl;
323 CC_matrix1_pt->
multiply(*CC_matrix2_pt, *CC_result2_pt);
325 cout <<
"CCDoubleMatrix method 3 " << endl;
327 CC_matrix1_pt->
multiply(*CC_matrix2_pt, *CC_result3_pt);
329 cout <<
"Multiplying " << D_matrix1_pt->
ncol()
330 <<
" x " << D_matrix1_pt->
nrow()
331 <<
" matrix by a " << D_matrix2_pt->
ncol()
332 <<
" x " << D_matrix1_pt->
nrow()
333 <<
" matrix" << endl;
335 cout <<
"DenseDoubleMatrix " << endl;
336 D_matrix1_pt->
multiply(*D_matrix2_pt, *D_result_pt);
392 delete CR_matrix1_pt;
393 delete CR_matrix2_pt;
394 delete CR_result1_pt;
395 delete CR_result2_pt;
396 delete CR_result3_pt;
398 delete CC_matrix1_pt;
399 delete CC_matrix2_pt;
400 delete CC_result1_pt;
401 delete CC_result2_pt;
402 delete CC_result3_pt;
Driven cavity problem in rectangular domain.
Definition: linear_solvers/driven_cavity.cc:77
void actions_before_newton_solve()
Definition: linear_solvers/driven_cavity.cc:127
A class for compressed column matrices that store doubles.
Definition: matrices.h:2791
unsigned & matrix_matrix_multiply_method()
Definition: matrices.h:2886
void multiply(const DoubleVector &x, DoubleVector &soln) const
Multiply the matrix by the vector x: soln=Ax.
Definition: matrices.cc:622
Definition: matrices.h:888
unsigned long ncol() const
Return the number of columns of the matrix.
Definition: matrices.h:1008
void multiply(const DoubleVector &x, DoubleVector &soln) const
Multiply the matrix by the vector x: soln=Ax.
Definition: matrices.cc:1782
unsigned & serial_matrix_matrix_multiply_method()
Definition: matrices.h:1159
unsigned long nrow() const
Return the number of rows of the matrix.
Definition: matrices.h:1002
Definition: matrices.h:1271
void multiply(const DoubleVector &x, DoubleVector &soln) const
Multiply the matrix by the vector x: soln=Ax.
Definition: matrices.cc:294
unsigned long nrow() const
Return the number of rows of the matrix.
Definition: matrices.h:1295
unsigned long ncol() const
Return the number of columns of the matrix.
Definition: matrices.h:1301
Definition: double_vector.h:58
void clear()
wipes the DoubleVector
Definition: double_vector.h:142
void sparse_indexed_output(std::ostream &outfile, const unsigned &precision=0, const bool &output_bottom_right_zero=false) const
Definition: matrices.h:182
virtual void get_jacobian(DoubleVector &residuals, DenseDoubleMatrix &jacobian)
Definition: problem.cc:3890
Definition: navier_stokes_elements.h:1749
unsigned Nx
Number of elements in x direction.
Definition: sparse_assemble_test.cc:55
unsigned Ny
Number of elements in x direction.
Definition: sparse_assemble_test.cc:58
void output(std::ostream &outfile, const unsigned &nplot)
Overload output function.
Definition: overloaded_element_body.h:490
std::ofstream out("Result.txt")