Loading...
Searching...
No Matches
SBMElement Class Reference

This class describes a periodic table element. More...

Elements

enum  Type {
  Hydrogen ,
  H ,
  Helium ,
  He ,
  Lithium ,
  Li ,
  Beryllium ,
  Be ,
  Boron ,
  B ,
  Carbon ,
  C ,
  Nitrogen ,
  N ,
  Oxygen ,
  O ,
  Fluorine ,
  F ,
  Neon ,
  Ne ,
  Sodium ,
  Na ,
  Magnesium ,
  Mg ,
  Aluminium ,
  Al ,
  Silicon ,
  Si ,
  Phosphorus ,
  P ,
  Sulfur ,
  S ,
  Chlorine ,
  Cl ,
  Argon ,
  Ar ,
  Potassium ,
  K ,
  Calcium ,
  Ca ,
  Scandium ,
  Sc ,
  Titanium ,
  Ti ,
  Vanadium ,
  V ,
  Chromium ,
  Cr ,
  Manganese ,
  Mn ,
  Iron ,
  Fe ,
  Cobalt ,
  Co ,
  Nickel ,
  Ni ,
  Copper ,
  Cu ,
  Zinc ,
  Zn ,
  Gallium ,
  Ga ,
  Germanium ,
  Ge ,
  Arsenic ,
  As ,
  Selenium ,
  Se ,
  Bromine ,
  Br ,
  Krypton ,
  Kr ,
  Rubidium ,
  Rb ,
  Strontium ,
  Sr ,
  Yttrium ,
  Y ,
  Zirconium ,
  Zr ,
  Niobium ,
  Nb ,
  Molybdenum ,
  Mo ,
  Technetium ,
  Tc ,
  Ruthenium ,
  Ru ,
  Rhodium ,
  Rh ,
  Palladium ,
  Pd ,
  Silver ,
  Ag ,
  Cadmium ,
  Cd ,
  Indium ,
  In ,
  Tin ,
  Sn ,
  Antimony ,
  Sb ,
  Tellurium ,
  Te ,
  Iodine ,
  I ,
  Xenon ,
  Xe ,
  Caesium ,
  Cs ,
  Barium ,
  Ba ,
  Lanthanum ,
  La ,
  Cerium ,
  Ce ,
  Praseodymium ,
  Pr ,
  Neodymium ,
  Nd ,
  Promethium ,
  Pm ,
  Samarium ,
  Sm ,
  Europium ,
  Eu ,
  Gadolinium ,
  Gd ,
  Terbium ,
  Tb ,
  Dysprosium ,
  Dy ,
  Holmium ,
  Ho ,
  Erbium ,
  Er ,
  Thulium ,
  Tm ,
  Ytterbium ,
  Yb ,
  Lutetium ,
  Lu ,
  Hafnium ,
  Hf ,
  Tantalum ,
  Ta ,
  Tungsten ,
  W ,
  Rhenium ,
  Re ,
  Osmium ,
  Os ,
  Iridium ,
  Ir ,
  Platinum ,
  Pt ,
  Gold ,
  Au ,
  Mercury ,
  Hg ,
  Thallium ,
  Tl ,
  Lead ,
  Pb ,
  Bismuth ,
  Bi ,
  Polonium ,
  Po ,
  Astatine ,
  At ,
  Radon ,
  Rn ,
  Francium ,
  Fr ,
  Radium ,
  Ra ,
  Actinium ,
  Ac ,
  Thorium ,
  Th ,
  Protactinium ,
  Pa ,
  Uranium ,
  U ,
  Neptunium ,
  Np ,
  Plutonium ,
  Pu ,
  Americium ,
  Am ,
  Curium ,
  Cm ,
  Berkelium ,
  Bk ,
  Californium ,
  Cf ,
  Einsteinium ,
  Es ,
  Fermium ,
  Fm ,
  Mendelevium ,
  Md ,
  Nobelium ,
  No ,
  Lawrencium ,
  Lr ,
  Rutherfordium ,
  Rf ,
  Dubnium ,
  Db ,
  Seaborgium ,
  Sg ,
  Bohrium ,
  Bh ,
  Hassium ,
  Hs ,
  Meitnerium ,
  Mt ,
  Darmstadtium ,
  Ds ,
  Roentgenium ,
  Rg ,
  Copernicium ,
  Cn ,
  Nihonium ,
  Nh ,
  Ununtrium ,
  Uut ,
  Flerovium ,
  Fl ,
  Ununquadium ,
  Uuq ,
  Moscovium ,
  Mc ,
  Ununpentium ,
  Uup ,
  Livermorium ,
  Lv ,
  Ununhexium ,
  Uuh ,
  Tennessine ,
  Ts ,
  Ununseptium ,
  Uus ,
  Oganesson ,
  Og ,
  Ununoctium ,
  Uuo ,
  CoarseGrained ,
  CG ,
  Unknown ,
  Un
}
 The element type. More...
 

Categories

enum class  MetalSubcategory {
  Unknown ,
  AlkaliMetal ,
  AlkalineEarthMetal ,
  Lanthanide ,
  Actinide ,
  TransitionMetal ,
  PostTransitionMetal ,
  Metalloid ,
  ReactiveNonmetal ,
  NobleGas
}
 

Debugging

virtual void print (unsigned int offset=0) const
 Prints the element.
 

Constructors and destructors

SBMElementData * dataPointer
 
 SBMElement (Type type, std::string name, std::string symbol, std::string period, unsigned int group, std::string block, SBQuantity::mass atomicWeight, SBQuantity::length covalentRadius, SBQuantity::length vanDerWaalsRadius, short implicitValence, SBQuantity::dimensionless electronegativity)
 
virtual ~SBMElement ()
 Deletes the model.
 

Properties

Type getType () const
 Returns the type of the element.
 
std::string getName () const
 Returns the name of the element.
 
std::string getSymbol () const
 Returns the symbol of the element.
 
std::string getPeriod () const
 Returns the period of the element.
 
unsigned int getGroup () const
 Returns the group of the element.
 
std::string getBlock () const
 Returns the block of the element.
 
SBQuantity::mass getAtomicWeight () const
 Returns the atomic weight of the element.
 
SBQuantity::length getCovalentRadius () const
 Returns the covalent radius of the element.
 
SBQuantity::length getCovalentRadius (int bondType) const
 Returns the covalent radius of the element for bond type bondType (1 for single bond, 2 for double bond, 3 for triple bond, for other values it returns getCovalentRadius())
 
SBQuantity::length getVanDerWaalsRadius () const
 Returns the van der Waals radius of the element.
 
SBQuantity::dimensionless getElectronegativity () const
 Returns the electronegativity of the element.
 
MetalSubcategory getMetalSubcategory () const
 Returns the element's subcategory type in the metal–metalloid–nonmetal trend.
 
std::string getMetalSubcategoryString () const
 Returns the string representation of the element's subcategory type in the metal–metalloid–nonmetal trend.
 
bool isMetal () const
 Returns true if the element is metal.
 
bool isAlkaliMetal () const
 Returns true if the element is alkali metal.
 
bool isAlkalineEarthMetal () const
 Returns true if the element is alkaline earth metal.
 
bool isLanthanide () const
 Returns true if the element is lanthanide metal.
 
bool isActinide () const
 Returns true if the element is actinide metal.
 
bool isTransitionMetal () const
 Returns true if the element is transition metal.
 
bool isPostTransitionMetal () const
 Returns true if the element is post-transition metal.
 
bool isMetalloid () const
 Returns true if the element is metalloid.
 
bool isNobleGas () const
 Returns true if the element is noble gas.
 
bool isReactiveNonmetal () const
 Returns true if the element is reactive nonmetal.
 
bool isDiatomicNonmetal () const
 Returns true if the element is diatomic nonmetal.
 
bool isPolyatomicNonmetal () const
 Returns true if the element is polyatomic nonmetal.
 
bool isHalogen () const
 Returns true if the element is halogen.
 
bool isCoarseGrained () const
 Returns true if the element is coarse grained.
 
bool hasOxidationState (const int value) const
 Returns true if the element has known oxidation state with the value value.
 

Rendering

const float(& getColorCPK () const)[4]
 Returns the CPK color of the element.
 

Detailed Description

This class is used to describe the periodic table in SAMSON.

Typically, this class is used when constructing atoms, or when accessing properties of periodic table elements:

This template class defines physical quantity types.
Definition: SBDQuantityType.hpp:43
This class describes a periodic table element.
Definition: SBMElement.hpp:20
@ Carbon
The type of the Carbon element.
Definition: SBMElement.hpp:48
SBQuantity::length getCovalentRadius() const
Returns the covalent radius of the element.
Definition: SBMElement.cpp:52
static const SBElement & getElement(SBMElement::Type element)
Returns a reference to periodic table element element.
Definition: SBMElementTable.cpp:41

Note that convenience functions exist in atoms to access the properties of their element:

SBQuantity::length r = atom->getCovalentRadius();

Short name: SBElement

See also
SBMElementTable
SAMSON's unit system

Member Enumeration Documentation

◆ MetalSubcategory

enum class SBMElement::MetalSubcategory
strong
Enumerator
Unknown 

Unknown metal subcategory.

AlkaliMetal 

Alkali metal category.

AlkalineEarthMetal 

Alkaline earth metal category.

Lanthanide 

Lanthanide metal category.

Actinide 

Actinide metal category.

TransitionMetal 

Transition metal category.

PostTransitionMetal 

Post-transition metal category.

Metalloid 

Metalloid metal category.

ReactiveNonmetal 

Reactive nonmetal category.

NobleGas 

Noble gases.

◆ Type

Enumerator
Hydrogen 

The type of the Hydrogen element.

The type of the Hydrogen element.

Helium 

The type of the Helium element.

He 

The type of the Helium element.

Lithium 

The type of the Lithium element.

Li 

The type of the Lithium element.

Beryllium 

The type of the Beryllium element.

Be 

The type of the Beryllium element.

Boron 

The type of the Boron element.

The type of the Boron element.

Carbon 

The type of the Carbon element.

The type of the Carbon element.

Nitrogen 

The type of the Nitrogen element.

The type of the Nitrogen element.

Oxygen 

The type of the Oxygen element.

The type of the Oxygen element.

Fluorine 

The type of the Fluorine element.

The type of the Fluorine element.

Neon 

The type of the Neon element.

Ne 

The type of the Neon element.

Sodium 

The type of the Sodium element.

Na 

The type of the Sodium element.

Magnesium 

The type of the Magnesium element.

Mg 

The type of the Magnesium element.

Aluminium 

The type of the Aluminium element.

Al 

The type of the Aluminium element.

Silicon 

The type of the Silicon element.

Si 

The type of the Silicon element.

Phosphorus 

The type of the Phosphorus element.

The type of the Phosphorus element.

Sulfur 

The type of the Sulfur element.

The type of the Sulfur element.

Chlorine 

The type of the Chlorine element.

Cl 

The type of the Chlorine element.

Argon 

The type of the Argon element.

Ar 

The type of the Argon element.

Potassium 

The type of the Potassium element.

The type of the Potassium element.

Calcium 

The type of the Calcium element.

Ca 

The type of the Calcium element.

Scandium 

The type of the Scandium element.

Sc 

The type of the Scandium element.

Titanium 

The type of the Titanium element.

Ti 

The type of the Titanium element.

Vanadium 

The type of the Vanadium element.

The type of the Vanadium element.

Chromium 

The type of the Chromium element.

Cr 

The type of the Chromium element.

Manganese 

The type of the Manganese element.

Mn 

The type of the Manganese element.

Iron 

The type of the Iron element.

Fe 

The type of the Iron element.

Cobalt 

The type of the Cobalt element.

Co 

The type of the Cobalt element.

Nickel 

The type of the Nickel element.

Ni 

The type of the Nickel element.

Copper 

The type of the Copper element.

Cu 

The type of the Copper element.

Zinc 

The type of the Zinc element.

Zn 

The type of the Zinc element.

Gallium 

The type of the Gallium element.

Ga 

The type of the Gallium element.

Germanium 

The type of the Germanium element.

Ge 

The type of the Germanium element.

Arsenic 

The type of the Arsenic element.

As 

The type of the Arsenic element.

Selenium 

The type of the Selenium element.

Se 

The type of the Selenium element.

Bromine 

The type of the Bromine element.

Br 

The type of the Bromine element.

Krypton 

The type of the Krypton element.

Kr 

The type of the Krypton element.

Rubidium 

The type of the Rubidium element.

Rb 

The type of the Rubidium element.

Strontium 

The type of the Strontium element.

Sr 

The type of the Strontium element.

Yttrium 

The type of the Yttrium element.

The type of the Yttrium element.

Zirconium 

The type of the Zirconium element.

Zr 

The type of the Zirconium element.

Niobium 

The type of the Niobium element.

Nb 

The type of the Niobium element.

Molybdenum 

The type of the Molybdenum element.

Mo 

The type of the Molybdenum element.

Technetium 

The type of the Technetium element.

Tc 

The type of the Technetium element.

Ruthenium 

The type of the Ruthenium element.

Ru 

The type of the Ruthenium element.

Rhodium 

The type of the Rhodium element.

Rh 

The type of the Rhodium element.

Palladium 

The type of the Palladium element.

Pd 

The type of the Palladium element.

Silver 

The type of the Silver element.

Ag 

The type of the Silver element.

Cadmium 

The type of the Cadmium element.

Cd 

The type of the Cadmium element.

Indium 

The type of the Indium element.

In 

The type of the Indium element.

Tin 

The type of the Tin element.

Sn 

The type of the Tin element.

Antimony 

The type of the Antimony element.

Sb 

The type of the Antimony element.

Tellurium 

The type of the Tellurium element.

Te 

The type of the Tellurium element.

Iodine 

The type of the Iodine element.

The type of the Iodine element.

Xenon 

The type of the Xenon element.

Xe 

The type of the Xenon element.

Caesium 

The type of the Caesium element.

Cs 

The type of the Caesium element.

Barium 

The type of the Barium element.

Ba 

The type of the Barium element.

Lanthanum 

The type of the Lanthanum element.

La 

The type of the Lanthanum element.

Cerium 

The type of the Cerium element.

Ce 

The type of the Cerium element.

Praseodymium 

The type of the Praseodymium element.

Pr 

The type of the Praseodymium element.

Neodymium 

The type of the Neodymium element.

Nd 

The type of the Neodymium element.

Promethium 

The type of the Promethium element.

Pm 

The type of the Promethium element.

Samarium 

The type of the Samarium element.

Sm 

The type of the Samarium element.

Europium 

The type of the Europium element.

Eu 

The type of the Europium element.

Gadolinium 

The type of the Gadolinium element.

Gd 

The type of the Gadolinium element.

Terbium 

The type of the Terbium element.

Tb 

The type of the Terbium element.

Dysprosium 

The type of the Dysprosium element.

Dy 

The type of the Dysprosium element.

Holmium 

The type of the Holmium element.

Ho 

The type of the Holmium element.

Erbium 

The type of the Erbium element.

Er 

The type of the Erbium element.

Thulium 

The type of the Thulium element.

Tm 

The type of the Thulium element.

Ytterbium 

The type of the Ytterbium element.

Yb 

The type of the Ytterbium element.

Lutetium 

The type of the Lutetium element.

Lu 

The type of the Lutetium element.

Hafnium 

The type of the Hafnium element.

Hf 

The type of the Hafnium element.

Tantalum 

The type of the Tantalum element.

Ta 

The type of the Tantalum element.

Tungsten 

The type of the Tungsten element.

The type of the Tungsten element.

Rhenium 

The type of the Rhenium element.

Re 

The type of the Rhenium element.

Osmium 

The type of the Osmium element.

Os 

The type of the Osmium element.

Iridium 

The type of the Iridium element.

Ir 

The type of the Iridium element.

Platinum 

The type of the Platinum element.

Pt 

The type of the Platinum element.

Gold 

The type of the Gold element.

Au 

The type of the Gold element.

Mercury 

The type of the Mercury element.

Hg 

The type of the Mercury element.

Thallium 

The type of the Thallium element.

Tl 

The type of the Thallium element.

Lead 

The type of the Lead element.

Pb 

The type of the Lead element.

Bismuth 

The type of the Bismuth element.

Bi 

The type of the Bismuth element.

Polonium 

The type of the Polonium element.

Po 

The type of the Polonium element.

Astatine 

The type of the Astatine element.

At 

The type of the Astatine element.

Radon 

The type of the Radon element.

Rn 

The type of the Radon element.

Francium 

The type of the Francium element.

Fr 

The type of the Francium element.

Radium 

The type of the Radium element.

Ra 

The type of the Radium element.

Actinium 

The type of the Actinium element.

Ac 

The type of the Actinium element.

Thorium 

The type of the Thorium element.

Th 

The type of the Thorium element.

Protactinium 

The type of the Protactinium element.

Pa 

The type of the Protactinium element.

Uranium 

The type of the Uranium element.

The type of the Uranium element.

Neptunium 

The type of the Neptunium element.

Np 

The type of the Neptunium element.

Plutonium 

The type of the Plutonium element.

Pu 

The type of the Plutonium element.

Americium 

The type of the Americium element.

Am 

The type of the Americium element.

Curium 

The type of the Curium element.

Cm 

The type of the Curium element.

Berkelium 

The type of the Berkelium element.

Bk 

The type of the Berkelium element.

Californium 

The type of the Californium element.

Cf 

The type of the Californium element.

Einsteinium 

The type of the Einsteinium element.

Es 

The type of the Einsteinium element.

Fermium 

The type of the Fermium element.

Fm 

The type of the Fermium element.

Mendelevium 

The type of the Mendelevium element.

Md 

The type of the Mendelevium element.

Nobelium 

The type of the Nobelium element.

No 

The type of the Nobelium element.

Lawrencium 

The type of the Lawrencium element.

Lr 

The type of the Lawrencium element.

Rutherfordium 

The type of the Rutherfordium element.

Rf 

The type of the Rutherfordium element.

Dubnium 

The type of the Dubnium element.

Db 

The type of the Dubnium element.

Seaborgium 

The type of the Seaborgium element.

Sg 

The type of the Seaborgium element.

Bohrium 

The type of the Bohrium element.

Bh 

The type of the Bohrium element.

Hassium 

The type of the Hassium element.

Hs 

The type of the Hassium element.

Meitnerium 

The type of the Meitnerium element.

Mt 

The type of the Meitnerium element.

Darmstadtium 

The type of the Darmstadtium element.

Ds 

The type of the Darmstadtium element.

Roentgenium 

The type of the Roentgenium element.

Rg 

The type of the Roentgenium element.

Copernicium 

The type of the Copernicium element.

Cn 

The type of the Copernicium element.

Nihonium 

The type of the Nihonium element.

Nh 

The type of the Nihonium element.

Ununtrium 

The type of the Ununtrium element.

Uut 

The type of the Ununtrium element.

Flerovium 

The type of the Flerovium element.

Fl 

The type of the Flerovium element.

Ununquadium 

The type of the Ununquadium element.

Uuq 

The type of the Ununquadium element.

Moscovium 

The type of the Moscovium element.

Mc 

The type of the Moscovium element.

Ununpentium 

The type of the Ununpentium element.

Uup 

The type of the Ununpentium element.

Livermorium 

The type of the Livermorium element.

Lv 

The type of the Livermorium element.

Ununhexium 

The type of the Ununhexium element.

Uuh 

The type of the Ununhexium element.

Tennessine 

The type of the Tennessine element.

Ts 

The type of the Tennessine element.

Ununseptium 

The type of the Ununseptium element.

Uus 

The type of the Ununseptium element.

Oganesson 

The type of the Oganesson element.

Og 

The type of the Oganesson element.

Ununoctium 

The type of the Ununoctium element.

Uuo 

The type of the Ununoctium element.

CoarseGrained 

The type of coarse-grained atoms.

CG 

The type of coarse-grained atoms.

Unknown 

The type of an unknown element.

Un 

The type of an unknown element.