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);
104 auto nnodes=grid.npoints();
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)
128 Solver.update(SGlobal);
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.
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.
Bridge class for using umfpack as solver for vmatrix.