/* * interface_sinus.cpp * * Created on: 31.03.2011 * Author: Julian Iseringhausen */ #ifdef HAVE_CONFIG_H #include #endif #ifndef _USE_MATH_DEFINES #define _USE_MATH_DEFINES #endif #include #include "grid/grid.hpp" #include "grid/multigrid.hpp" #include "interface_sinus.hpp" using namespace VMG; using VMGInterfaces::InterfaceSinus; void InterfaceSinus::ImportRightHandSide(Multigrid& grid) { Index i; Vector pos; Grid& grid_l = grid(grid.GlobalMaxLevel()); const double& sp = grid_l.MeshWidth(); const double factor = 2.0 * M_PI * grid_l.Extent().Size().Max(); grid_l.ClearBoundary(); for (i.X()=0; i.X()(grid_l.Global().Begin() + i); grid_l(i) = 3.0 * factor * factor * sin(factor * pos.X()) * sin(factor * pos.Y()) * sin(factor * pos.Z()); } } void InterfaceSinus::ExportSolution(Grid& grid) { }