1 /* 2 * Copyright (C) 2011 Thorsten Liebig (Thorsten.Liebig@gmx.de) 3 * 4 * This program is free software: you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation, either version 3 of the License, or 7 * (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program. If not, see <http://www.gnu.org/licenses/>. 16 */ 17 18 #ifndef PROCESSFIELDS_SAR_H 19 #define PROCESSFIELDS_SAR_H 20 21 #include "processfields_fd.h" 22 23 class ProcessFieldsSAR : public ProcessFieldsFD 24 { 25 public: 26 ProcessFieldsSAR(Engine_Interface_Base* eng_if); 27 virtual ~ProcessFieldsSAR(); 28 29 virtual void SetDumpType(DumpType type); 30 31 virtual bool NeedConductivity() const; 32 GetProcessingName()33 virtual std::string GetProcessingName() const {return "SAR dump";} 34 35 virtual void InitProcess(); 36 37 virtual int Process(); 38 39 virtual void SetSubSampling(unsigned int subSampleRate, int dir=-1); 40 41 virtual void SetOptResolution(double optRes, int dir=-1); 42 43 //! Set to true for using the conductivity found at the center of a cell, or false for E*J instead SetUseCellConductivity(bool val)44 virtual void SetUseCellConductivity(bool val) {m_UseCellKappa=val;} 45 SetSARAveragingMethod(std::string method)46 virtual void SetSARAveragingMethod(std::string method) {m_SAR_method=method;} 47 48 protected: 49 virtual void DumpFDData(); 50 51 bool m_UseCellKappa; 52 53 std::string m_SAR_method; 54 55 //! frequency domain electric field storage 56 std::vector<std::complex<float>****> m_E_FD_Fields; 57 //! frequency domain current density storage 58 std::vector<std::complex<float>****> m_J_FD_Fields; 59 }; 60 61 #endif // PROCESSFIELDS_SAR_H 62