eisdrt 1.0.x
eigendrt.h
1/* * libeisdrt - A library to calculate EIS Drts
2 * Copyright (C) 2023 Carl Klemm <carl@uvos.xyz>
3 *
4 * This file is part of libeisdrt.
5 *
6 * libeisdrt is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU Lesser General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * libeisdrt is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public License
17 * along with libeisdrt. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20#pragma once
21#include <Eigen/Core>
22
23#include "types.h"
24
44template<typename fv>
45Eigen::VectorX<fv> calcDrt(Eigen::VectorX<std::complex<fv>>& impedanceSpectra, Eigen::VectorX<fv>& omegaTensor,
46 FitMetrics& fm, const FitParameters& fp, fv* rSeries = nullptr);
47
48
58template<typename fv>
59Eigen::VectorX<std::complex<fv>> calcImpedance(const Eigen::VectorX<fv>& drt, fv rSeries, const Eigen::VectorX<fv>& omegaVector);
60
Eigen::VectorX< fv > calcDrt(Eigen::VectorX< std::complex< fv > > &impedanceSpectra, Eigen::VectorX< fv > &omegaTensor, FitMetrics &fm, const FitParameters &fp, fv *rSeries=nullptr)
Calculates the drt using Eigen datatypes.
Eigen::VectorX< std::complex< fv > > calcImpedance(const Eigen::VectorX< fv > &drt, fv rSeries, const Eigen::VectorX< fv > &omegaVector)
Calculates impedance from drt using Eigen datatypes.
This is used to return information on a fit.
Definition types.h:51
Definition types.h:58