PLaSK library
Loading...
Searching...
No Matches
impedance.hpp
Go to the documentation of this file.
1
/*
2
* This file is part of PLaSK (https://plask.app) by Photonics Group at TUL
3
* Copyright (c) 2022 Lodz University of Technology
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation, version 3.
8
*
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
13
*/
14
#ifndef PLASK__SOLVER_OPTICAL_MODAL_IMPEDANCE_H
15
#define PLASK__SOLVER_OPTICAL_MODAL_IMPEDANCE_H
16
17
#include "
matrices.hpp
"
18
#include "
xance.hpp
"
19
#include "
solver.hpp
"
20
21
22
namespace
plask
{
namespace
optical {
namespace
modal {
23
27
struct
PLASK_SOLVER_API
ImpedanceTransfer
:
public
XanceTransfer
{
28
29
cvector
getReflectionVector(
const
cvector
& incident,
IncidentDirection
side)
override
;
30
31
ImpedanceTransfer
(
ModalBase
* solver,
Expansion
& expansion);
32
33
protected
:
34
35
void
getFinalMatrix()
override
;
36
37
void
determineFields()
override
;
38
39
// cvector getReflectionVectorH(const cvector& incident, IncidentDirection side);
40
41
void
determineReflectedFields(
const
cvector
& incident,
IncidentDirection
side)
override
;
42
48
void
findImpedance(std::ptrdiff_t start, std::ptrdiff_t end);
49
};
50
51
52
}}}
// namespace plask::optical::modal
53
54
#endif
// PLASK__SOLVER_OPTICAL_MODAL_IMPEDANCE_H
solvers
optical
modal
impedance.hpp
Generated by
1.9.8