fef 174 include/io_dgf.h FEfun& operator<<(FEfun& fef, const Handler::Vertices& v){ fef 177 include/io_dgf.h auto o_it = begin(fef); fef 188 include/io_dgf.h if(o_it != end(fef)) throw std::logic_error fef 190 include/io_dgf.h return fef; fef 77 src/brusselator_algo.cpp fef {fix_grid}, fef 89 src/brusselator_algo.cpp Scalar_solver solver {data, fix_grid, fef.u, fef.w}; fef 94 src/brusselator_algo.cpp solver.u.mass_matrix(fef.u.fun, fef.u.rhs_les); fef 95 src/brusselator_algo.cpp solver.w.mass_matrix(fef.w.fun, fef.w.rhs_les); fef 99 src/brusselator_algo.cpp solver.u.add_massMatrixConstOne_to(fef.u.rhs_les); fef 100 src/brusselator_algo.cpp solver.w.add_massMatrixConstOne_to(fef.w.rhs_les); fef 102 src/brusselator_algo.cpp load_vector.u.assemble_and_addScaled_to(fef.u.rhs_les); fef 103 src/brusselator_algo.cpp load_vector.w.assemble_and_addScaled_to(fef.w.rhs_les); fef 105 src/brusselator_algo.cpp solver.u.solve(fef.u.rhs_les, fef.u.fun); fef 106 src/brusselator_algo.cpp fef.u.app = fef.u.fun; fef 107 src/brusselator_algo.cpp solver.w.solve(fef.w.rhs_les, fef.w.fun); fef 108 src/brusselator_algo.cpp fef.w.app = fef.w.fun; fef 110 src/brusselator_algo.cpp exact.u.interpolate(fef.u.exact); fef 111 src/brusselator_algo.cpp exact.w.interpolate(fef.w.exact); fef 117 src/brusselator_algo.cpp io.identity.interpolate(fef.surface.fun); fef 121 src/brusselator_algo.cpp Grid::compose_dgfName(fef.surface.fun.name(), fef.tmpFile_path), fef 123 src/brusselator_algo.cpp Grid::Scal_FEfun_set u {fef.u, grid}; fef 124 src/brusselator_algo.cpp Grid::Vec_FEfun_set X {fef.surface, grid}; fef 131 src/brusselator_algo.cpp X.app = fef.surface.fun; fef 140 src/brusselator_algo.cpp fef.surface.fun = X.fun; // swap would be more efficient fef 141 src/brusselator_algo.cpp fef.surface.write(io.dgf_handler, fef.tmpFile_path); fef 144 src/brusselator_algo.cpp io.identity.interpolate(fef.surface.exact); fef 146 src/brusselator_algo.cpp << norm.l2_err(fef.surface.fun, fef.surface.exact) << ' ' fef 147 src/brusselator_algo.cpp << norm.h1_err(fef.surface.fun, fef.surface.exact) fef 172 src/brusselator_algo.cpp SecOrd_op::Solution_driven X_solver {data, fix_grid, fef.u.app}; fef 173 src/brusselator_algo.cpp ex_ptr->interpolate(fef.surface.fun); fef 174 src/brusselator_algo.cpp fef.surface.exact = fef.surface.fun; fef 176 src/brusselator_algo.cpp X_solver.brusselator_rhs(fef.surface.fun, fef.surface.rhs_les); fef 178 src/brusselator_algo.cpp X_solver.solve(fef.surface.rhs_les, fef.surface.fun); fef 181 src/brusselator_algo.cpp fix_grid.new_nodes(fef.surface.exact); fef 182 src/brusselator_algo.cpp exact.X_ptr->interpolate(fef.surface.exact); fef 184 src/brusselator_algo.cpp << norm.l2_err(fef.surface.fun, fef.surface.exact) << ' ' fef 185 src/brusselator_algo.cpp << norm.h1_err(fef.surface.fun, fef.surface.exact) fef 187 src/brusselator_algo.cpp fix_grid.new_nodes(fef.surface.fun); fef 197 src/brusselator_algo.cpp Solution_driven X_solver {data, fix_grid, fef.u.app}; fef 198 src/brusselator_algo.cpp ex_ptr->interpolate(fef.surface.fun); fef 199 src/brusselator_algo.cpp u_ptr->interpolate(fef.u.app); fef 200 src/brusselator_algo.cpp fef.surface.exact = fef.surface.fun; fef 202 src/brusselator_algo.cpp X_solver.brusselator_rhs(fef.surface.fun, fef.surface.rhs_les); fef 204 src/brusselator_algo.cpp vRhs_ptr->addScaled_to(fef.surface.rhs_les); fef 206 src/brusselator_algo.cpp X_solver.solve(fef.surface.rhs_les, fef.surface.fun); fef 209 src/brusselator_algo.cpp fix_grid.new_nodes(fef.surface.exact); fef 210 src/brusselator_algo.cpp ex_ptr->interpolate(fef.surface.exact); fef 211 src/brusselator_algo.cpp u_ptr->interpolate(fef.u.app); fef 213 src/brusselator_algo.cpp << norm.l2_err(fef.surface.fun, fef.surface.exact) << ' ' fef 214 src/brusselator_algo.cpp << norm.h1_err(fef.surface.fun, fef.surface.exact) fef 216 src/brusselator_algo.cpp fix_grid.new_nodes(fef.surface.fun); fef 224 src/brusselator_algo.cpp Solution_driven X_solver {data, fix_grid, fef.u.app}; fef 225 src/brusselator_algo.cpp ex_ptr->interpolate(fef.surface.fun); fef 226 src/brusselator_algo.cpp fef.surface.exact = fef.surface.fun; fef 228 src/brusselator_algo.cpp X_solver.brusselator_rhs(fef.surface.fun, fef.surface.rhs_les); fef 229 src/brusselator_algo.cpp vRhs_ptr->addScaled_to(fef.surface.rhs_les); fef 230 src/brusselator_algo.cpp X_solver.solve(fef.surface.rhs_les, fef.surface.fun); fef 232 src/brusselator_algo.cpp fix_grid.new_nodes(fef.surface.exact); fef 233 src/brusselator_algo.cpp ex_ptr->interpolate(fef.surface.exact); fef 235 src/brusselator_algo.cpp << norm.l2_err(fef.surface.fun, fef.surface.exact) << ' ' fef 236 src/brusselator_algo.cpp << norm.h1_err(fef.surface.fun, fef.surface.exact) fef 238 src/brusselator_algo.cpp fix_grid.new_nodes(fef.surface.fun); fef 250 src/brusselator_algo.cpp Scalar_solver solver {data, fix_grid, fef.u, fef.w}; // I just need `solver.u` fef 251 src/brusselator_algo.cpp Solution_driven X_solver {data, fix_grid, fef.u.app}; fef 252 src/brusselator_algo.cpp X_ex->interpolate(fef.surface.fun); fef 253 src/brusselator_algo.cpp u_ex->interpolate(fef.u.app); fef 254 src/brusselator_algo.cpp fef.surface.exact = fef.surface.fun; fef 255 src/brusselator_algo.cpp fef.u.fun = fef.u.app; fef 258 src/brusselator_algo.cpp fef.velocity.rhs_les = fef.surface.fun; // old surface for velocity fef 259 src/brusselator_algo.cpp X_solver.brusselator_rhs(fef.surface.fun, fef.surface.rhs_les); fef 260 src/brusselator_algo.cpp g_load->addScaled_to(fef.surface.rhs_les); fef 261 src/brusselator_algo.cpp X_solver.solve(fef.surface.rhs_les, fef.surface.fun); fef 262 src/brusselator_algo.cpp fef.velocity.app = fef.surface.fun; // new surface for velocity fef 263 src/brusselator_algo.cpp solver.u.mass_matrix(fef.u.fun, fef.u.rhs_les); fef 264 src/brusselator_algo.cpp calculate_velocity(fef.velocity.app.cbegin(), fef.velocity.app.cend(), fef 265 src/brusselator_algo.cpp fef.velocity.rhs_les.cbegin(), fef.velocity.fun.begin()); fef 272 src/brusselator_algo.cpp fix_grid.new_nodes(fef.surface.fun); fef 273 src/brusselator_algo.cpp f_load->addScaled_to(fef.u.rhs_les); fef 274 src/brusselator_algo.cpp solver.u.solve(fef.u.rhs_les, fef.u.fun); fef 275 src/brusselator_algo.cpp fef.u.app = fef.u.fun; fef 277 src/brusselator_algo.cpp X_ex->interpolate(fef.surface.exact); fef 278 src/brusselator_algo.cpp fix_grid.new_nodes(fef.surface.exact); fef 279 src/brusselator_algo.cpp u_ex->interpolate(fef.u.exact); fef 280 src/brusselator_algo.cpp V_ex->interpolate(fef.velocity.exact); fef 281 src/brusselator_algo.cpp print(io.u, fef.u); fef 282 src/brusselator_algo.cpp print(io.surface, fef.surface); fef 283 src/brusselator_algo.cpp print(io.velocity, fef.velocity); fef 284 src/brusselator_algo.cpp fix_grid.new_nodes(fef.surface.fun); fef 302 src/brusselator_algo.cpp const auto uw_path = fef.tmpFile_path + "intermediate_"; fef 305 src/brusselator_algo.cpp fef.u.read(io.dgf_handler, uw_path); fef 306 src/brusselator_algo.cpp fef.w.read(io.dgf_handler, uw_path); fef 309 src/brusselator_algo.cpp fef.u.write(io.dgf_handler, uw_path); fef 310 src/brusselator_algo.cpp fef.w.write(io.dgf_handler, uw_path); fef 311 src/brusselator_algo.cpp fef.surface.write(io.dgf_handler, fef.tmpFile_path); fef 316 src/brusselator_algo.cpp Scalar_solver solver {data, fix_grid, fef.u, fef.w}; fef 317 src/brusselator_algo.cpp Solution_driven X_solver {data, fix_grid, fef.u.app}; fef 318 src/brusselator_algo.cpp Esfem::Io::Paraview paraview {data, fix_grid, fef.u.fun, fef.w.fun}; fef 320 src/brusselator_algo.cpp X_solver.brusselator_rhs(fef.surface.fun, fef.surface.rhs_les); fef 321 src/brusselator_algo.cpp X_solver.solve(fef.surface.rhs_les, fef.surface.fun); fef 322 src/brusselator_algo.cpp solver.u.mass_matrix(fef.u.fun, fef.u.rhs_les); fef 323 src/brusselator_algo.cpp solver.w.mass_matrix(fef.w.fun, fef.w.rhs_les); fef 326 src/brusselator_algo.cpp fix_grid.new_nodes(fef.surface.fun); fef 327 src/brusselator_algo.cpp solver.u.add_massMatrixConstOne_to(fef.u.rhs_les); fef 328 src/brusselator_algo.cpp solver.w.add_massMatrixConstOne_to(fef.w.rhs_les); fef 329 src/brusselator_algo.cpp solver.u.solve(fef.u.rhs_les, fef.u.fun); fef 330 src/brusselator_algo.cpp fef.u.app = fef.u.fun; fef 331 src/brusselator_algo.cpp solver.w.solve(fef.w.rhs_les, fef.w.fun); fef 332 src/brusselator_algo.cpp fef.w.app = fef.w.fun; fef 351 src/brusselator_algo.cpp fef.u.write(io.dgf_handler, "./final_"); fef 352 src/brusselator_algo.cpp fef.w.write(io.dgf_handler, "./final_"); fef 353 src/brusselator_algo.cpp fef.surface.write(io.dgf_handler, "./final_"); fef 360 src/brusselator_algo.cpp io.identity.interpolate(fef.surface.exact); fef 363 src/brusselator_algo.cpp fef.surface.app = fef.surface.fun; fef 366 src/brusselator_algo.cpp exact.u.interpolate(fef.u.exact); fef 367 src/brusselator_algo.cpp exact.w.interpolate(fef.w.exact); fef 374 src/brusselator_algo.cpp << norm.l2_err(fef.u.exact, fef.u.fun) << '\t' fef 375 src/brusselator_algo.cpp << norm.h1_err(fef.u.exact, fef.u.fun) << std::endl; fef 377 src/brusselator_algo.cpp << norm.l2_err(fef.w.exact, fef.w.fun) << '\t' fef 378 src/brusselator_algo.cpp << norm.h1_err(fef.w.exact, fef.w.fun) << std::endl; fef 381 src/brusselator_algo.cpp << norm.l2_err(fef.surface.exact, fef.surface.app) fef 383 src/brusselator_algo.cpp << norm.h1_err(fef.surface.exact, fef.surface.app) fef 387 src/brusselator_algo.cpp << norm.l2_err(fef.velocity.fun, fef.velocity.exact) fef 389 src/brusselator_algo.cpp << norm.h1_err(fef.velocity.fun, fef.velocity.exact) fef 397 src/brusselator_algo.cpp exact.X_ptr->interpolate(fef.surface.fun); fef 400 src/brusselator_algo.cpp io.identity.interpolate(fef.surface.fun); fef 397 src/brusselator_algo.h Fef fef; fef 80 src/brusselator_algo_impl.cpp paraview {bs.data, bs.fix_grid, bs.fef.u.fun, bs.fef.w.fun}, fef 81 src/brusselator_algo_impl.cpp solver {bs.data, bs.fix_grid, bs.fef.u, bs.fef.w} fef 85 src/brusselator_algo_impl.cpp interpolate(bs.exact.u, bs.fef.u); fef 86 src/brusselator_algo_impl.cpp interpolate(bs.exact.w, bs.fef.w); fef 90 src/brusselator_algo_impl.cpp interpolate(init_data.u, bs.fef.u); fef 91 src/brusselator_algo_impl.cpp interpolate(init_data.w, bs.fef.w); fef 92 src/brusselator_algo_impl.cpp bs.io.identity.interpolate(bs.fef.surface.fun); fef 95 src/brusselator_algo_impl.cpp bs.fef.surface.write(bs.io.dgf_handler, bs.fef.tmpFile_path); fef 104 src/brusselator_algo_impl.cpp auto& u = bs.fef.u; fef 105 src/brusselator_algo_impl.cpp auto& w = bs.fef.w; fef 115 src/brusselator_algo_impl.cpp u {bs.fef.u}, fef 116 src/brusselator_algo_impl.cpp w {bs.fef.w}, fef 145 src/brusselator_algo_impl.cpp fef {bs.fef}, fef 147 src/brusselator_algo_impl.cpp Grid::compose_dgfName(fef.surface.fun.name(), fef.tmpFile_path), fef 149 src/brusselator_algo_impl.cpp u {fef.u, grid}, fef 150 src/brusselator_algo_impl.cpp w {fef.w, grid}, fef 151 src/brusselator_algo_impl.cpp X {fef.surface, grid}, fef 162 src/brusselator_algo_impl.cpp fef.u.rhs_les = u.rhs_les; fef 163 src/brusselator_algo_impl.cpp fef.w.rhs_les = w.rhs_les; fef 173 src/brusselator_algo_impl.cpp fef.surface.fun = X.fun; fef 174 src/brusselator_algo_impl.cpp fef.surface.write(bs.io.dgf_handler, fef.tmpFile_path); fef 185 src/brusselator_algo_impl.cpp Grid::compose_dgfName(bs.fef.surface.fun.name(), bs.fef.tmpFile_path ), fef 187 src/brusselator_algo_impl.cpp u {bs.fef.u, grid}, fef 188 src/brusselator_algo_impl.cpp w {bs.fef.w, grid}, fef 206 src/brusselator_algo_impl.cpp bs.fef.u = u; fef 207 src/brusselator_algo_impl.cpp bs.fef.w = w; fef 204 src/brusselator_algo_impl.h Brusselator_scheme::Fef& fef; fef 147 src/grid_FEfunSet.h Tiny_FEfun_set(const FEfun_set<FEfun>& fef, const Grid::Grid_and_time& gt) fef 148 src/grid_FEfunSet.h : fun {fef.fun, gt}, fef 149 src/grid_FEfunSet.h rhs_les {fef.rhs_les, gt} fef 90 src/io_dgf.cpp void Handler::write(const std::string& out_filename, const Scal_FEfun& fef) const try{ fef 91 src/io_dgf.cpp if(fef.size() != no_of_nodes()) throw logic_error fef 98 src/io_dgf.cpp const auto vertices = Esfem::Io::Dgf::to_vertices(fef, 1); fef 156 src/io_dgf.cpp void Handler::read(const string& in_filename, Scal_FEfun& fef) const try{ fef 161 src/io_dgf.cpp const auto dim_of_fef = fef.size(); fef 169 src/io_dgf.cpp fef << vertices; fef 92 src/secOrd_op_brusselator.cpp void Esfem::SecOrd_op::Brusselator::massMatrix_constOne(Grid::Scal_FEfun& fef) const{ fef 93 src/secOrd_op_brusselator.cpp FE_function& fef_ref = fef; fef 97 src/secOrd_op_brusselator.cpp add_massMatrixConstOne_to(Grid::Scal_FEfun& fef) const{ fef 98 src/secOrd_op_brusselator.cpp FE_function& fef_ref = fef; fef 103 src/secOrd_op_brusselator.cpp assign_firstArg_quadMassMatrix(const Grid::Scal_FEfun& fef){ fef 105 src/secOrd_op_brusselator.cpp const FE_function& fef_ref = fef; fef 114 src/secOrd_op_brusselator.cpp assign_secondArg_quadMassMatrix(const Grid::Scal_FEfun& fef){ fef 116 src/secOrd_op_brusselator.cpp const FE_function& fef_ref = fef; fef 195 src/secOrd_op_brusselator_impl.cpp void Brusselator_op::jacobian(const FE_function& fef, Linear_operator& matrix) const{ fef 196 src/secOrd_op_brusselator_impl.cpp const auto& df_space = fef.space(); fef 201 src/secOrd_op_brusselator_impl.cpp const auto fef_loc = fef.localFunction(entity); fef 318 src/secOrd_op_brusselator_impl.cpp std::size_t calculate_matrix_row_size(const FE_function& fef){ fef 319 src/secOrd_op_brusselator_impl.cpp const auto& df_space = fef.space(); fef 45 src/secOrd_op_initData.cpp void Esfem::SecOrd_op::Init_data::interpolate(Grid::Scal_FEfun& fef) const{ fef 56 src/secOrd_op_initData.cpp interpolateFunction(*eid_ptr, fef); fef 59 src/secOrd_op_initData.cpp interpolateFunction(*rid_ptr, fef); fef 137 src/secOrd_op_initData_impl.cpp void sphere_1EF::interpolate(Grid::Scal_FEfun& fef) const{ fef 139 src/secOrd_op_initData_impl.cpp Dune::LagrangeInterpolation<Fef>::interpolateFunction(*this, fef); fef 73 src/secOrd_op_initData_u.cpp void Esfem::SecOrd_op::Init_data_u::interpolate(Grid::Scal_FEfun& fef) const{ fef 75 src/secOrd_op_initData_u.cpp Dune::LagrangeInterpolation<FE_function>::interpolateFunction(d_ptr -> u0, fef); fef 73 src/secOrd_op_initData_w.cpp void Esfem::SecOrd_op::Init_data_w::interpolate(Grid::Scal_FEfun& fef) const{ fef 75 src/secOrd_op_initData_w.cpp Dune::LagrangeInterpolation<FE_function>::interpolateFunction(d_ptr -> u0, fef); fef 105 src/secOrd_op_linearHeat.cpp FE_function& fef = sfef; fef 106 src/secOrd_op_linearHeat.cpp d_ptr -> heat_op.mass_matrix(fef); fef 122 src/secOrd_op_linearHeat.cpp void Linear_heat_op::operator()(const FE_function& cfef, FE_function& fef) const{ fef 123 src/secOrd_op_linearHeat.cpp fef.clear(); fef 124 src/secOrd_op_linearHeat.cpp const auto& df_space = fef.space(); fef 128 src/secOrd_op_linearHeat.cpp auto fef_loc = fef.localFunction(entity); fef 133 src/secOrd_op_linearHeat.cpp fef.communicate(); fef 135 src/secOrd_op_linearHeat.cpp void Linear_heat_op::mass_matrix(FE_function& fef){ fef 136 src/secOrd_op_linearHeat.cpp tmp_fef.assign(fef); fef 138 src/secOrd_op_linearHeat.cpp fef.clear(); fef 139 src/secOrd_op_linearHeat.cpp const auto& df_space = fef.space(); fef 143 src/secOrd_op_linearHeat.cpp auto fef_loc = fef.localFunction(entity); fef 149 src/secOrd_op_linearHeat.cpp fef.assign(tmp_fef); fef 41 src/secOrd_op_rhs.cpp void Rhs::assemble_and_addScaled_to(Grid::Scal_FEfun& fef){ fef 43 src/secOrd_op_rhs.cpp FE_function& dune_fef = fef; fef 179 src/secOrd_op_rhs_impl.cpp Grid::Vec_FEfun::Dune_FEfun& fef = rhs; fef 180 src/secOrd_op_rhs_impl.cpp fef.axpy(tp.deltaT(), lvec); fef 197 src/secOrd_op_rhs_impl.cpp Grid::Vec_FEfun::Dune_FEfun& fef = rhs; fef 198 src/secOrd_op_rhs_impl.cpp fef.axpy(tp.deltaT(), lvec); fef 214 src/secOrd_op_rhs_impl.cpp Grid::Scal_FEfun::Dune_FEfun& fef = rhs; fef 215 src/secOrd_op_rhs_impl.cpp fef.axpy(tp.deltaT(), lscal); fef 280 src/secOrd_op_rhs_impl.h void assemble_RHS(const Rhs& rhs, Fef& fef); fef 314 src/secOrd_op_rhs_impl.h void Esfem::Impl::assemble_RHS(const Rhs& rhs, Fef& fef){ fef 319 src/secOrd_op_rhs_impl.h fef.clear(); fef 320 src/secOrd_op_rhs_impl.h const auto& df_space = fef.space(); fef 324 src/secOrd_op_rhs_impl.h auto fef_local = fef.localFunction(entity); fef 333 src/secOrd_op_rhs_impl.h fef.communicate(); fef 93 src/secOrd_op_rhs_u.cpp void Esfem::SecOrd_op::Rhs_u::assemble_and_addScaled_to(Grid::Scal_FEfun& fef) const{ fef 96 src/secOrd_op_rhs_u.cpp FE_function& dune_fef = fef; fef 99 src/secOrd_op_rhs_u.cpp void Esfem::SecOrd_op::Rhs_u::assemble(Grid::Scal_FEfun& fef) const{ fef 100 src/secOrd_op_rhs_u.cpp FE_function& dune_fef = fef; fef 137 src/secOrd_op_rhs_u.cpp void assemble_RHS(const RHS_data_u& rhs_fun, FE_function& fef){ fef 138 src/secOrd_op_rhs_u.cpp fef.clear(); fef 139 src/secOrd_op_rhs_u.cpp const auto& df_space = fef.space(); fef 143 src/secOrd_op_rhs_u.cpp auto fef_local = fef.localFunction(entity); fef 146 src/secOrd_op_rhs_u.cpp fef.communicate(); fef 95 src/secOrd_op_rhs_w.cpp void Esfem::SecOrd_op::Rhs_w::assemble_and_addScaled_to(Grid::Scal_FEfun& fef) const{ fef 98 src/secOrd_op_rhs_w.cpp FE_function& dune_fef = fef; fef 130 src/secOrd_op_rhs_w.cpp void assemble_RHS(const RHS_data_w& rhs_fun, FE_function& fef){ fef 131 src/secOrd_op_rhs_w.cpp fef.clear(); fef 132 src/secOrd_op_rhs_w.cpp const auto& df_space = fef.space(); fef 136 src/secOrd_op_rhs_w.cpp auto fef_local = fef.localFunction(entity); fef 139 src/secOrd_op_rhs_w.cpp fef.communicate(); fef 22 test/io_dgf.cpp std::string name(const FEFun& fef){ fef 24 test/io_dgf.cpp return base_dir + fef.name() + ".dgf"; fef 51 test/io_dgf.cpp Esfem::Grid::Scal_FEfun fef {"fef", grid}; fef 58 test/io_dgf.cpp fef += 1.; fef 59 test/io_dgf.cpp dgf_interpreter.write(name(fef), fef); fef 62 test/io_dgf.cpp hello(name(fef)); fef 63 test/io_dgf.cpp dgf_interpreter.read(name(fef), vfef); } fef 70 test/io_dgf.cpp dgf_interpreter.read(name(vfef), fef); }