DPsim
Loading...
Searching...
No Matches
TopologicalNode.cpp
Go to the documentation of this file.
1
/* Copyright 2017-2021 Institute for Automation of Complex Power Systems,
2
* EONERC, RWTH Aachen University
3
*
4
* This Source Code Form is subject to the terms of the Mozilla Public
5
* License, v. 2.0. If a copy of the MPL was not distributed with this
6
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
7
*********************************************************************************/
8
9
#include <
dpsim-models/TopologicalNode.h
>
10
11
using namespace
CPS
;
12
13
Bool
TopologicalNode::isGround
()
const
{
return
mIsGround
; }
14
15
MatrixComp
TopologicalNode::initialVoltage
()
const
{
return
**
mInitialVoltage
; }
16
17
void
TopologicalNode::setInitialVoltage
(
MatrixComp
voltage)
const
{
18
**
mInitialVoltage
= voltage;
19
}
20
21
void
TopologicalNode::setInitialVoltage
(
Complex
voltage)
const
{
22
if
(
mPhaseType
==
PhaseType::Single
) {
23
(**mInitialVoltage)(0, 0) = voltage;
24
}
else
{
25
(**mInitialVoltage)(0, 0) = voltage;
26
(**mInitialVoltage)(1, 0) =
SHIFT_TO_PHASE_B
* voltage;
27
(**mInitialVoltage)(2, 0) =
SHIFT_TO_PHASE_C
* voltage;
28
}
29
}
30
31
void
TopologicalNode::setInitialVoltage
(
Complex
voltage,
Int
phaseIndex)
const
{
32
(**mInitialVoltage)(phaseIndex, 0) = voltage;
33
}
34
35
PhaseType
TopologicalNode::phaseType
()
const
{
return
mPhaseType
; }
36
37
TopologicalNode::TopologicalNode
(
String
uid
,
String
name
,
PhaseType
phaseType
,
38
const
std::vector<Complex> &
initialVoltage
)
39
:
IdentifiedObject
(
uid
,
name
),
40
mInitialVoltage
(
mAttributes
->create<
MatrixComp
>(
"voltage_init"
)) {
41
42
mPhaseType
=
phaseType
;
43
if
(
phaseType
==
PhaseType::ABC
) {
44
//mMatrixNodeIndex = matrixNodeIndex;
45
**
mInitialVoltage
= MatrixComp::Zero(3, 1);
46
**
mInitialVoltage
<<
initialVoltage
[0],
initialVoltage
[1],
47
initialVoltage
[2];
48
}
else
{
49
//mMatrixNodeIndex = { matrixNodeIndex[0] };
50
**
mInitialVoltage
= MatrixComp::Zero(1, 1);
51
**
mInitialVoltage
<<
initialVoltage
[0];
52
}
53
}
54
55
Complex
TopologicalNode::initialSingleVoltage
(
PhaseType
phaseType
) {
56
if
(
phaseType
==
PhaseType::B
)
57
return
(**
mInitialVoltage
)(1, 0);
58
else
if
(
phaseType
==
PhaseType::C
)
59
return
(**
mInitialVoltage
)(2, 0);
60
else
// phaseType == PhaseType::Single || mPhaseType == PhaseType::A
61
return
(**
mInitialVoltage
)(0, 0);
62
}
TopologicalNode.h
CPS::IdentifiedObject::name
String name()
Definition
IdentifiedObject.h:59
CPS::IdentifiedObject::uid
String uid()
Returns unique id.
Definition
IdentifiedObject.h:61
CPS::IdentifiedObject::IdentifiedObject
IdentifiedObject()
Definition
IdentifiedObject.h:33
CPS::IdentifiedObject::mAttributes
AttributeList::Ptr mAttributes
Attribute List.
Definition
IdentifiedObject.h:22
CPS::TopologicalNode::setInitialVoltage
void setInitialVoltage(MatrixComp voltage) const
Definition
TopologicalNode.cpp:17
CPS::TopologicalNode::mInitialVoltage
const Attribute< MatrixComp >::Ptr mInitialVoltage
Definition
TopologicalNode.h:26
CPS::TopologicalNode::phaseType
PhaseType phaseType() const
Definition
TopologicalNode.cpp:35
CPS::TopologicalNode::mPhaseType
PhaseType mPhaseType
Definition
TopologicalNode.h:19
CPS::TopologicalNode::mIsGround
Bool mIsGround
Definition
TopologicalNode.h:20
CPS::TopologicalNode::initialSingleVoltage
Complex initialSingleVoltage(PhaseType phaseType=PhaseType::Single)
Definition
TopologicalNode.cpp:55
CPS::TopologicalNode::isGround
Bool isGround() const
Definition
TopologicalNode.cpp:13
CPS::TopologicalNode::initialVoltage
MatrixComp initialVoltage() const
Definition
TopologicalNode.cpp:15
CPS::TopologicalNode::TopologicalNode
TopologicalNode()
Definition
TopologicalNode.h:28
SHIFT_TO_PHASE_C
#define SHIFT_TO_PHASE_C
Definition
Definitions.h:47
SHIFT_TO_PHASE_B
#define SHIFT_TO_PHASE_B
Definition
Definitions.h:46
CPS
Definition
Attribute.h:17
CPS::PhaseType
PhaseType
Definition
Definitions.h:113
CPS::PhaseType::C
@ C
Definition
Definitions.h:113
CPS::PhaseType::Single
@ Single
Definition
Definitions.h:113
CPS::PhaseType::ABC
@ ABC
Definition
Definitions.h:113
CPS::PhaseType::B
@ B
Definition
Definitions.h:113
CPS::String
std::string String
Definition
Definitions.h:65
CPS::Int
int Int
Definition
Definitions.h:61
CPS::Complex
std::complex< Real > Complex
Definition
Definitions.h:63
CPS::MatrixComp
Eigen::Matrix< Complex, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor > MatrixComp
Dense matrix for complex numbers.
Definition
Definitions.h:84
CPS::Bool
bool Bool
Definition
Definitions.h:64
dpsim-models
src
TopologicalNode.cpp
Generated by
1.13.2