Distributes the unknown indices ('mapping') for the Poisson equation and the continuity equations. More...
#include <iostream>
#include <fstream>
#include <vector>
#include <memory>
#include <petsc.h>
#include "viennagrid/mesh/mesh.hpp"
#include "viennashe/forwards.h"
#include "viennashe/materials/all.hpp"
#include "viennashe/simulator_quantity.hpp"
#include "viennashe/she/timestep_quantities.hpp"
#include "viennashe/she/assemble_common.hpp"
#include "viennashe/util/misc.hpp"
Go to the source code of this file.
Namespaces | |
namespace | viennashe |
The main ViennaSHE namespace. All functionality resides inside this namespace. | |
namespace | viennashe::detail |
Namespace for implementation details. Typically not of interest for the library user. | |
Functions | |
template<typename DeviceType , typename VertexT > | |
long | viennashe::create_mapping (DeviceType const &device, viennashe::unknown_quantity< VertexT > &quantity, long start_index=0) |
Maps unkown indices in the system matrix to the given unknown spatial quantity. More... | |
template<typename DeviceType , typename CellType , typename SHEQuantity > | |
void | viennashe::detail::map_cell (DeviceType const &device, CellType const &cell, std::size_t index_H, SHEQuantity &quan, viennashe::config const &conf, long ¤t_index) |
Handles the mapping of a SHE unkown quantity on a single cell and H-space index. More... | |
template<typename DeviceType , typename SHEQuantity , typename FacetType > | |
void | viennashe::detail::map_facet (DeviceType const &device, SHEQuantity &quan, viennashe::config const &conf, FacetType const &facet, std::size_t index_H, long ¤t_index) |
Assigns an unknown index for odd SHE unknowns to a facet. Preconditions: More... | |
template<typename DeviceType , typename SHEQuantity > | |
long | viennashe::create_even_mapping (DeviceType const &device, SHEQuantity &quan, viennashe::config const &conf, long unknown_offset=0) |
Distributes SHE unknown indices (dofs) over the device. More... | |
template<typename DeviceType , typename SHEQuantity > | |
long | viennashe::create_odd_mapping (DeviceType const &device, SHEQuantity &quan, viennashe::config const &conf, long unknown_offset=0) |
Distributes SHE unknown indices (dofs) over the device. More... | |
template<typename DeviceT > | |
map_info_type | viennashe::create_mapping (DeviceT const &device, viennashe::she::timestep_quantities< DeviceT > &quantities, viennashe::config const &conf) |
Creates an unkown mapping for spatial quantities. More... | |
Distributes the unknown indices ('mapping') for the Poisson equation and the continuity equations.
Definition in file mapping.hpp.