Xyce  6.1
N_DEV_ScalingVars.C
Go to the documentation of this file.
1 //-----------------------------------------------------------------------------
2 // Copyright Notice
3 //
4 // Copyright 2002 Sandia Corporation. Under the terms
5 // of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S.
6 // Government retains certain rights in this software.
7 //
8 // Xyce(TM) Parallel Electrical Simulator
9 // Copyright (C) 2002-2015 Sandia Corporation
10 //
11 // This program is free software: you can redistribute it and/or modify
12 // it under the terms of the GNU General Public License as published by
13 // the Free Software Foundation, either version 3 of the License, or
14 // (at your option) any later version.
15 //
16 // This program is distributed in the hope that it will be useful,
17 // but WITHOUT ANY WARRANTY; without even the implied warranty of
18 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 // GNU General Public License for more details.
20 //
21 // You should have received a copy of the GNU General Public License
22 // along with this program. If not, see <http://www.gnu.org/licenses/>.
23 //-----------------------------------------------------------------------------
24 
25 //-------------------------------------------------------------------------
26 // Filename : $RCSfile: N_DEV_ScalingVars.C,v $
27 //
28 // Purpose : This file contains a lot of the
29 // implementation of the model class for the two
30 // dimensional PDE based semiconductor device.
31 //
32 // Special Notes :
33 //
34 // Creator : Eric R. Keiter, SNL, Parallel Computational Sciences
35 //
36 // Creation Date : 07/05/03
37 //
38 // Revision Information:
39 // ---------------------
40 //
41 // Revision Number: $Revision: 1.1.2.1 $
42 //
43 // Revision Date : $Date: 2015/04/02 18:20:09 $
44 //
45 // Current Owner : $Author: tvrusso $
46 //-------------------------------------------------------------------------
47 
48 #include <Xyce_config.h>
49 
50 // ---------- Standard Includes ----------
51 #include <iostream>
52 
53 #include <N_UTL_fwd.h>
54 
55 #include <N_DEV_ScalingVars.h>
56 
57 namespace Xyce {
58 namespace Device {
59 
60 //-----------------------------------------------------------------------------
61 // Function : ScalingVars::operator<<
62 // Purpose : "<<" operator
63 // Special Notes :
64 // Scope : public
65 // Creator : Eric R. Keiter, SNL, Parallel Computational Sciences
66 // Creation Date : 11/15/09
67 //-----------------------------------------------------------------------------
68 std::ostream &operator<<(std::ostream & os, const ScalingVars & scaleVars)
69 {
70  os << "\n\n-----------------------------------------" << std::endl;
71  os << "\tPDE Scaling Vars:\n";
72  //os << "\t\tdefad = " << scaleVars. <<"\n";
73 
74  os << " x0 = " << scaleVars.x0 << "\n"; // distance scaling (cm)
75  os << " a0 = " << scaleVars.a0 << "\n"; // area scaling (cm^2)
76  os << " T0 = " << scaleVars.T0 << "\n"; // temperature scaling (K)
77  os << " V0 = " << scaleVars.V0 << "\n"; // electrostatic potential scaling (V)
78  os << " rV0 = " << scaleVars.rV0 << "\n"; // reciprocal of V0
79  os << " C0 = " << scaleVars.C0 << "\n"; // concentration scaling (cm^-3)
80  os << " D0 = " << scaleVars.D0 << "\n"; // diffusion coefficient scaling (cm^2/s)
81  os << " u0 = " << scaleVars.u0 << "\n"; // mobility coefficient scaling (cm^2/V/s)
82  os << " R0 = " << scaleVars.R0 << "\n"; // recombination rate scaling (cm^-3/s)
83  os << " rR0 = " << scaleVars.rR0 << "\n"; // reciprocal of R0
84  os << " t0 = " << scaleVars.t0 << "\n"; // time scaling (s)
85  os << " E0 = " << scaleVars.E0 << "\n"; // electric field scaling (V/s)
86  os << " F0 = " << scaleVars.F0 << "\n"; // particle flux scaling (cm^-2/s)
87  os << " J0 = " << scaleVars.J0 << "\n"; // current density scaling (A/cm^2)
88  os << " L0 = " << scaleVars.L0 << "\n"; // Laplacian scaling constant
89 
90  os << " k0 = " << scaleVars.k0 << "\n";
91  os << " rt0 = " << scaleVars.rt0 << "\n";
92  os << " rk0 = " << scaleVars.rk0 << "\n";
93 
94  os << Xyce::section_divider << std::endl;
95  os << std::endl;
96 
97  return os;
98 }
99 
100 } // namespace Device
101 } // namespace Xyce
Pure virtual class to augment a linear system.
std::ostream & operator<<(std::ostream &os, const Configuration &configuration)
Definition: N_DEV_Dump.C:134