BELFEM 0.9.0
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
cl_FEMTwoTerminals.hpp
Go to the documentation of this file.
1/*
2 * BELFEM -- The Berkeley Lab Finite Element Framework
3 * Copyright (c) 2026, The Regents of the University of California,
4 * through Lawrence Berkeley National Laboratory (subject to receipt of any required
5 * approvals from the U.S. Dept. of Energy). All rights reserved.
6 *
7 * Developers: Christian Messe, Gregory Giard
8 *
9 * See the top-level LICENSE file for the complete license and disclaimer.
10 */
11
12#ifndef BELFEM_CL_FEMTWOTERMINALS_HPP
13#define BELFEM_CL_FEMTWOTERMINALS_HPP
14
15#include "cl_TwoTerminals.hpp"
16#include "Component_Enums.hpp"
17#include "cl_Vector.hpp"
18#include "cl_BDF.hpp"
19
20namespace belfem
21{
22 namespace electronics
23 {
24//-----------------------------------------------------------------------------
25
33 {
34
36 real mIn = 0.0 ;
37
39 real mVn = 0.0 ;
40
42 //real mRFEM = 1e-10 ;
43
44 //real miFEMh = 0.0 ;
45
47 ode::BDF * mBDF = nullptr;
48
51
54
57
59 //uint mOrder = 1 ;
60
61//------------------------------------------------------------------------------
62 public:
63//------------------------------------------------------------------------------
64
65 FEMTwoTerminals(Cell < ElectricNode* > & aTerminals, string aLabel = "") ;
66
67//------------------------------------------------------------------------------
68
70 component_type() const override ;
71
72//-----------------------------------------------------------------------------
73
74 void
75 compute_current() override ;
76
77//------------------------------------------------------------------------------
78
79 void
80 shift( const real aTime, const real aDeltaTime ) override ;
81
82//------------------------------------------------------------------------------
83
84 void
85 shift_back() override ;
86
87//------------------------------------------------------------------------------
88
89 void
90 set_IV( const real I, const real V ) ;
91
92//------------------------------------------------------------------------------
93
94 void
95 save_state( hid_t aGroup, const string & aPrefix ) override ;
96
97//------------------------------------------------------------------------------
98
99 void
100 load_state( hid_t aGroup, const string & aPrefix ) override ;
101
102//------------------------------------------------------------------------------
103
104 /*real
105 dIdV() const ;*/
106
107//------------------------------------------------------------------------------
108
109 };
110
111 inline ComponentType
116
117//-----------------------------------------------------------------------------
118 }
119}
120
121#endif //BELFEM_CL_FEMTWOTERMINALS_HPP
void set_IV(const real I, const real V)
Definition cl_FEMTwoTerminals.cpp:56
void load_state(hid_t aGroup, const string &aPrefix) override
restore the state written by save_state().
Definition cl_FEMTwoTerminals.cpp:81
void save_state(hid_t aGroup, const string &aPrefix) override
write this component's time-stepping state into the restart group, dataset names prefixed with aPrefi...
Definition cl_FEMTwoTerminals.cpp:66
void compute_current() override
Definition cl_FEMTwoTerminals.cpp:28
FEMTwoTerminals(Cell< ElectricNode * > &aTerminals, string aLabel="")
Order.
Definition cl_FEMTwoTerminals.cpp:21
void shift_back() override
Definition cl_FEMTwoTerminals.cpp:46
ComponentType component_type() const override
Definition cl_FEMTwoTerminals.hpp:112
void shift(const real aTime, const real aDeltaTime) override
Definition cl_FEMTwoTerminals.cpp:36
TwoTerminals(Cell< ElectricNode * > &aTerminals, string aLabel="")
Definition cl_TwoTerminals.cpp:20
Definition cl_BDF.hpp:26
Definition cl_Capacitor.cpp:18
ComponentType
Definition Component_Enums.hpp:22
@ TERMINALPAIR
Definition Component_Enums.hpp:31
USER GUIDES:
Definition cl_Capacitor.cpp:16
int hid_t
Definition hdf5_types.hpp:20
double real
Definition typedefs.hpp:36