18 #include "vtkfigFrame.h" 19 #include "vtkfigDataSet.h" 20 #include "vtkfigGridView.h" 21 #include "vtkfigScalarView.h" 76 auto griddata=numcxx::vtkfigDataSet(grid);
78 auto frame=vtkfig::Frame::New();
79 frame->SetSize(1200,600);
80 frame->SetLayout(2,1);
82 auto gridview=vtkfig::GridView::New();
83 gridview->SetData(griddata);
84 frame->AddFigure(gridview,0);
86 auto solview=vtkfig::ScalarView::New();
87 solview->SetData(griddata,
"Sol");
88 solview->SetValueRange(0,1);
89 frame->AddFigure(solview,1);
121 for (
int n=0;n<N;n++)
124 fem2d::assemble_transient_heat_problem(grid,bcfac,bcval,source,kappa,tau,theta, lump, OldSol, SGlobal, Rhs);
126 if (theta>0.0 || !lump)
129 Solver.
solve(Sol,Rhs);
133 for (
int i=0;i<Sol.
size();i++)
134 Sol(i)=Rhs(i)/SGlobal(i,i);
139 frame->SetFrameTitle(
"Time="+std::to_string(tau*n));
140 griddata->SetPointScalar(Sol ,
"Sol");
Class collecting data for the description of piecewise linear geometries.
Sparse matrix class using CRS storage scheme.
void set_regionpoints(const std::initializer_list< std::initializer_list< double >> &il)
Set member via intializer list.
void set_regionvolumes(const std::initializer_list< double > &il)
Set member via intializer list.
Header for simple grid data class.
size_t size() const
Obtain size of array.
void solve(TArray< T > &Sol, const TArray< T > &Rhs)
Solve LU factorized system.
Main header of the library.
void set_points(const std::initializer_list< std::initializer_list< double >> &il)
Set member via intializer list.
void set_regionnumbers(const std::initializer_list< int > &il)
Set member via intializer list.
const double Dirichlet
BC value marking Dirichlet boundary condition.
void set_bfaces(const std::initializer_list< std::initializer_list< int >> &il)
Set member via intializer list.
void assemble_transient_heat_problem(const numcxx::SimpleGrid &grid, const numcxx::DArray1 &bcfac, const numcxx::DArray1 &bcval, const numcxx::DArray1 &source, const numcxx::DArray1 &kappa, double tau, double theta, bool lump, numcxx::DArray1 &OldSol, numcxx::DSparseMatrix &SGlobal, numcxx::DArray1 &Rhs)
void set_bfaceregions(const std::initializer_list< int > &il)
Set member via intializer list.
One dimensional array class.
Class containing data for simple grid data structure.
Header for adapter beteween vtkfig dataset and simple grid.
Bridge class for using umfpack as solver for vmatrix.
const int npoints() const
Return number of points.
void update()
Perform actual computation of LU factorization.