PLaSK library

Loading...
Searching...
No Matches
air.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__AIR_H
15#define PLASK__AIR_H
16
21#include "material.hpp"
22
23 namespace plask { namespace materials {
24
28 struct PLASK_API Air: public Material {
29
30 static constexpr const char* NAME = "air";
31
32 std::string name() const override;
33 Kind kind() const override;
34 double lattC(double T, char x) const override;
35 double Eg(double T, double e, char point) const override;
36 double CB(double T, double e, char point) const override;
37 double VB(double T, double e, char point, char hole) const override;
38 double Dso(double T, double e) const override;
39 double Mso(double T, double e) const override;
40 Tensor2<double> Me(double T, double e, char point) const override;
41 Tensor2<double> Mhh(double T, double e) const override;
42 Tensor2<double> Mlh(double T, double e) const override;
43 Tensor2<double> Mh(double T, double e) const override;
44 double eps(double T) const override;
45 double chi(double T, double e, char point) const override;
46 double Ni(double T) const override;
47 double Nf(double T) const override;
48 double EactD(double T) const override;
49 double EactA(double T) const override;
50 Tensor2<double> mob(double T) const override;
51 Tensor2<double> cond(double T) const override;
52 ConductivityType condtype() const override;
53 double A(double T) const override;
54 double B(double T) const override;
55 double C(double T) const override;
56 double D(double T) const override;
57 Tensor2<double> thermk(double T, double h) const override;
58 double dens(double T) const override;
59 double cp(double T) const override;
60 double nr(double lam, double T, double n = .0) const override;
61 double absp(double lam, double T) const override;
62 Tensor2<double> mobe(double T) const override;
63 Tensor2<double> mobh(double T) const override;
64 double Na() const override;
65 double Nd() const override;
66 protected:
67 bool isEqual(const Material& other) const override;
68};
69
70
71}} // namespace plask::materials
72
73#endif //PLASK__AIR_H