29 static std::unique_ptr<Eigen::MatrixXcd>
compute(
57 new Eigen::MatrixXcd);
60 Eigen::MatrixXcd(
mass_matrix.get_discrete_operator()).inverse();
81 "This works only for lowest order!");
104 static void assembleZ(
114 std::complex<double>
omega =
115 wavenumber / std::sqrt(Constants::mu0 * Constants::eps0);
117 Constants::mu0 *
omega * std::complex<double>(0., 1.) *
118 disc_op.get_discrete_operator();
125 static void assembleS(
142 std::complex<double>
omega =
143 wavenumber / std::sqrt(Constants::mu0 * Constants::eps0);
145 -
omega * std::complex<double>(0., 1.) *
153 static void assembleP(
169 static void assembleV(
174 Eigen::MatrixXcd
V = get_voltage_incidence_matrix(
218 static Eigen::MatrixXcd get_voltage_incidence_matrix(
229 Eigen::MatrixXcd ret =
235 std::vector<int>
edge_dofs = GlueRoutines::getEdgeDofIndices(
248 std::vector<int>
edge_dofs = GlueRoutines::getEdgeDofIndices(
static std::unique_ptr< Eigen::MatrixXcd > compute(Eigen::MatrixXcd *system_matrix, const AnsatzSpace< MassMatrixScalarDisc > &ansatz_space_mass, const AnsatzSpace< HelmholtzSingleLayerOperator > &ansatz_space_scalar, const AnsatzSpace< InductanceMatrix > &ansatz_space_vector, const std::complex< double > wavenumber)
static void compute_matrix_and_excitation(Eigen::MatrixXcd *system_matrix, Eigen::VectorXcd *excitation, const AnsatzSpace< MassMatrixScalarDisc > &ansatz_space_mass, const AnsatzSpace< HelmholtzSingleLayerOperator > &ansatz_space_scalar, const AnsatzSpace< InductanceMatrix > &ansatz_space_vector, const std::complex< double > wavenumber, const VoltageSource &source)