#include"Assemble_Base.h" #include"../function/BF.h" #include"../function/Gauss.h" #include"../common/define.h" #include "../parser/mpParser.h" #include using namespace Eigen; void OpticsFEM_3D_Scatter::Assemble_SBC() { //physic double k0 = 2 * Pi / _mSolver->GetLda0(); } void OpticsFEM_3D_Scatter::Assemble_PEC_ELE() { //find PEC index int NbrPEC = _mPhy->GetNbrPEC(); Eigen::VectorXi PECDomain = Eigen::VectorXi::Zero(NbrPEC); for (int i = 0; i < NbrPEC; i++) PECDomain(i) = _mPhy->GetPECDomain(i); Eigen::VectorXi edgeIndexOfPEC; _mMesh->GetTriIndexOfDomain(PECDomain, edgeIndexOfPEC); //find ELE index int NbrELE = _mPhy->GetNbrElE(); Eigen::VectorXi ELEDomain = Eigen::VectorXi::Zero(NbrELE); Eigen::VectorXi indexNum = Eigen::VectorXi::Zero(NbrELE); for (int i = 0; i < NbrELE; i++) { ELEDomain(i) = _mPhy->GetELEDomain(i); indexNum(i) = i; } Eigen::VectorXi triIndexOfELE, triNumOfELE; _mMesh->GetTriIndexOfDomain2(ELEDomain, indexNum, triIndexOfELE, triNumOfELE); }