Xyce
6.1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
N_TIA_Assembler.h
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-2014 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_TIA_Assembler.h,v $
27
//
28
// Purpose :
29
//
30
// Special Notes :
31
//
32
// Creator : Buddy Watts
33
//
34
// Creation Date : 6/1/07
35
//
36
// Revision Information:
37
// ---------------------
38
//
39
// Revision Number: $Revision: 1.14 $
40
//
41
// Revision Date : $Date: 2014/02/24 23:49:25 $
42
//
43
// Current Owner : $Author: tvrusso $
44
//-----------------------------------------------------------------------------
45
46
#ifndef Xyce_N_ASSEMBER_H
47
#define Xyce_N_ASSEMBER_H
48
49
#include <N_UTL_Misc.h>
50
#include <N_UTL_Xyce.h>
51
#include <
N_ANP_fwd.h
>
52
#include <N_UTL_fwd.h>
53
54
// ---------- Forward Declarations ----------
55
class
N_LOA_Loader;
56
class
N_TIA_TimeIntegrationMethod
;
57
class
N_TIA_DataStore
;
58
class
N_TIA_WorkingIntegrationMethod
;
59
class
N_LAS_Vector;
60
61
class
N_PDS_Manager;
62
63
//-----------------------------------------------------------------------------
64
// Class : N_TIA_Assembler
65
// Purpose : Base class
66
// Special Notes :
67
// Creator : Eric Keiter, SNL
68
// Creation Date : 1/30/07
69
//-----------------------------------------------------------------------------
70
class
N_TIA_Assembler
71
{
72
public
:
73
74
// Constructor.
75
N_TIA_Assembler
(
N_TIA_DataStore
& ds,
76
//N_ANP_AnalysisManager & ca,
77
N_LOA_Loader & loader,
78
N_TIA_WorkingIntegrationMethod
& wim,
79
N_PDS_Manager & pds,
80
bool
daeStateDerivFlag
81
) ;
82
83
// Destructor
84
virtual
~N_TIA_Assembler
();
85
86
virtual
bool
loadRHS
() = 0;
87
virtual
bool
loadJacobian
() = 0;
88
virtual
bool
applyJacobian
(
const
N_LAS_Vector& input, N_LAS_Vector& result)
89
{
return
false
; };
90
91
protected
:
92
N_UTL_Timer *
residualTimerPtr_
;
93
N_UTL_Timer *
jacobianTimerPtr_
;
94
double
residualTime_
;
95
double
jacobianTime_
;
96
97
bool
daeStateDerivFlag_
;
98
99
N_TIA_DataStore
&
ds_
;
100
N_LOA_Loader &
loader_
;
101
N_TIA_WorkingIntegrationMethod
&
wim_
;
102
103
N_PDS_Manager &
pdsMgr
;
104
105
friend
class
Xyce::Analysis::AnalysisInterface
;
106
};
107
108
//-----------------------------------------------------------------------------
109
// Class : N_TIA_DAE_Assembler
110
// Purpose : Derrived class
111
// Special Notes :
112
// Creator : Eric Keiter, SNL
113
// Creation Date : 1/30/07
114
//-----------------------------------------------------------------------------
115
class
N_TIA_DAE_Assembler
:
public
N_TIA_Assembler
116
{
117
public
:
118
119
// Default constructor.
120
N_TIA_DAE_Assembler
(
N_TIA_DataStore
& ds,
121
//N_ANP_AnalysisManager & ca,
122
N_LOA_Loader & loader,
123
N_TIA_WorkingIntegrationMethod
& wim,
124
N_PDS_Manager & pds,
125
bool
daeStateDerivFlag
126
);
127
128
// Destructor
129
virtual
~N_TIA_DAE_Assembler
();
130
131
// load functions, new-DAE form:
132
virtual
bool
loadRHS
();
133
virtual
bool
loadJacobian
();
134
virtual
bool
applyJacobian
(
const
N_LAS_Vector& input, N_LAS_Vector& result);
135
136
friend
class
Xyce::Analysis::AnalysisInterface
;
137
138
};
139
140
141
#endif
src
TimeIntegrationPKG
include
N_TIA_Assembler.h
Generated on Mon Mar 24 2014 10:54:40 for Xyce by
1.8.3.1