INET Framework for OMNeT++/OMNEST
inet::physicalenvironment::Material Class Reference

This class represents a material with its physical properties. More...

#include <Material.h>

Inheritance diagram for inet::physicalenvironment::Material:
inet::physicalenvironment::IMaterial

Public Member Functions

 Material (const char *name, Ohmm resistivity, double relativePermittivity, double relativePermeability)
 
virtual Ohmm getResistivity () const override
 
virtual double getRelativePermittivity () const override
 
virtual double getRelativePermeability () const override
 
virtual double getDielectricLossTangent (Hz frequency) const override
 
virtual double getRefractiveIndex () const override
 
virtual mps getPropagationSpeed () const override
 

Protected Attributes

const Ohmm resistivity
 
const double relativePermittivity
 
const double relativePermeability
 

Detailed Description

This class represents a material with its physical properties.

Constructor & Destructor Documentation

inet::physicalenvironment::Material::Material ( const char *  name,
Ohmm  resistivity,
double  relativePermittivity,
double  relativePermeability 
)
25  :
26  cNamedObject(name, false),
30 {
31 }
const double relativePermeability
Definition: Material.h:36
const Ohmm resistivity
Definition: Material.h:34
const double relativePermittivity
Definition: Material.h:35

Member Function Documentation

double inet::physicalenvironment::Material::getDielectricLossTangent ( Hz  frequency) const
overridevirtual

Implements inet::physicalenvironment::IMaterial.

34 {
35  return unit(1.0 / (2 * M_PI * frequency * resistivity * relativePermittivity * e0)).get();
36 }
const Ohmm resistivity
Definition: Material.h:34
const value< double, compose< units::F, pow< units::m,-1 > > > e0(8.854187817e-12)
#define M_PI
Definition: PlotFigure.cc:27
pow< internal::none, 0 > unit
Definition: Units.h:60
const double relativePermittivity
Definition: Material.h:35
mps inet::physicalenvironment::Material::getPropagationSpeed ( ) const
overridevirtual

Implements inet::physicalenvironment::IMaterial.

44 {
46 }
virtual double getRefractiveIndex() const override
Definition: Material.cc:38
#define SPEED_OF_LIGHT
Definition: INETDefs.h:67
compose< m, pow< s,-1 > > mps
Definition: Units.h:968
double inet::physicalenvironment::Material::getRefractiveIndex ( ) const
overridevirtual

Implements inet::physicalenvironment::IMaterial.

Referenced by getPropagationSpeed().

39 {
41 }
const double relativePermeability
Definition: Material.h:36
value< Value, pow< Unit, 1, 2 > > sqrt(const value< Value, Unit > &a)
Definition: Units.h:247
const double relativePermittivity
Definition: Material.h:35
virtual double inet::physicalenvironment::Material::getRelativePermeability ( ) const
inlineoverridevirtual

Implements inet::physicalenvironment::IMaterial.

43 { return relativePermeability; }
const double relativePermeability
Definition: Material.h:36
virtual double inet::physicalenvironment::Material::getRelativePermittivity ( ) const
inlineoverridevirtual

Implements inet::physicalenvironment::IMaterial.

42 { return relativePermittivity; }
const double relativePermittivity
Definition: Material.h:35
virtual Ohmm inet::physicalenvironment::Material::getResistivity ( ) const
inlineoverridevirtual

Implements inet::physicalenvironment::IMaterial.

41 { return resistivity; }
const Ohmm resistivity
Definition: Material.h:34

Member Data Documentation

const double inet::physicalenvironment::Material::relativePermeability
protected

Referenced by getRefractiveIndex().

const double inet::physicalenvironment::Material::relativePermittivity
protected
const Ohmm inet::physicalenvironment::Material::resistivity
protected

The documentation for this class was generated from the following files: