2017-10-06 187 views
1

我在C++中編碼,我使用的是FEniCS fenics/2016.1.0。我的代碼的一部分是在特徵::矩陣中轉換一個dolfin ::矩陣

Matrix A; 
Vector f; 
std::vector<std::shared_ptr<const DirichletBC>> dirichlet_matrici({dirichlet}); 
assemble_system(A,f,a,L,dirichlet_matrici); 
solve(A, *(u.vector()), f); 

我想這樣解決本徵的系統,所以我需要在道芬::矩陣A和徵對象的道芬::向量F轉換。可能嗎? 感謝您的幫助

+1

重複(無答案,無論):https://stackoverflow.com/questions/33565670/transform-dolfinmatrix-into-eigenmatrix – chtz

回答

0

我不確定是否有可能做直接轉換。但是,可以創建一個新的特徵矩陣,然後將每個單獨的值從第一個矩陣輸入到第二個矩陣中。

+0

你知道如何從Dolfin :: Matrix中將每個單獨的值輸入到Eigen中: :矩陣。因爲我不明白如何從Dolfin :: Matrix返回特定值。我知道只是存在這個函數:無效獲取(雙* block,std :: size_t m,const dolfin :: la_index *行,std :: size_t n,const dolfin :: la_index * cols)const但我不知道la_index是什麼以及它是如何工作的 – GregL

+1

我會查看文檔:https://fenicsproject.org/olddocs/dolfin/2016.1.0/cpp/programmers-reference/adaptivity/index.html –

+0

該文檔沒有說適用於所有方法和類的構造。例如,在描述之前所說的函數是:獲取值塊。對於la_index,描述爲:與線性代數後端兼容的索引類型 – GregL