~ubuntu-branches/debian/sid/lammps/sid

« back to all changes in this revision

Viewing changes to lib/atc/WeakEquationSchrodinger.cpp

  • Committer: Package Import Robot
  • Author(s): Anton Gladky
  • Date: 2013-11-20 22:41:36 UTC
  • mfrom: (1.2.2)
  • Revision ID: package-import@ubuntu.com-20131120224136-tzx7leh606fqnckm
Tags: 0~20131119.git7162cf0-1
* [e65b919] Imported Upstream version 0~20131119.git7162cf0
* [f7bddd4] Fix some problems, introduced by upstream recently.
* [3616dfc] Use wrap-and-sort script.
* [7e92030] Ignore quilt dir

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include "WeakEquationSchrodinger.h"
 
2
#include "Material.h"
 
3
#include <iostream>
 
4
#include <fstream>
 
5
 
 
6
namespace ATC {
 
7
 
 
8
//==============================================================
 
9
//  Class WeakEquationSchrodinger
 
10
//==============================================================
 
11
 
 
12
//--------------------------------------------------------------
 
13
//  Constructor
 
14
//--------------------------------------------------------------
 
15
WeakEquationSchrodinger::WeakEquationSchrodinger()
 
16
  : WeakEquation(EIGENVALUE_PDE,ELECTRON_WAVEFUNCTION,1) // w=0 inhomo soln
 
17
{}
 
18
//--------------------------------------------------------------
 
19
//  Destructor
 
20
//---------------------------------------------------------------------
 
21
WeakEquationSchrodinger::~WeakEquationSchrodinger(void)
 
22
{}
 
23
 
 
24
//---------------------------------------------------------------------
 
25
void WeakEquationSchrodinger::BB_tangent_coefficients(
 
26
  const FieldName field,
 
27
  const FIELD_MATS & fields,
 
28
  const Material* material,
 
29
  DENS_MAT &coefs) const
 
30
{
 
31
  material->inv_effective_mass(fields, coefs);// scaled by 1/2 hbar^2
 
32
}
 
33
//---------------------------------------------------------------------
 
34
 
 
35
void WeakEquationSchrodinger::NN_tangent_coefficients(
 
36
  const FieldName field,
 
37
  const FIELD_MATS & fields,
 
38
  const Material* material,
 
39
  DENS_MAT & V) const
 
40
{
 
41
  material->band_edge_potential(fields,V);
 
42
  FIELD_MATS::const_iterator phiField = fields.find(ELECTRIC_POTENTIAL);
 
43
  const DENS_MAT &  phi = phiField->second;
 
44
  V -= phi; // phi in volts equals |e|*phi in [eV]'s
 
45
}
 
46
 
 
47
};