|
Finite Element Domain Decomposition Library
FEDDLib
|

Public Types | |
| typedef Domain< SC, LO, GO, NO > | Domain_Type |
| typedef Teuchos::RCP< Domain_Type > | DomainPtr_Type |
| typedef Teuchos::RCP< const Domain_Type > | DomainConstPtr_Type |
| typedef std::vector< DomainConstPtr_Type > | DomainConstPtr_vec_Type |
| typedef Teuchos::RCP< Mesh< SC, LO, GO, NO > > | MeshPtr_Type |
| typedef MeshUnstructured< SC, LO, GO, NO > | MeshUnstr_Type |
| typedef Teuchos::RCP< MeshUnstr_Type > | MeshUnstrPtr_Type |
| typedef Elements | Elements_Type |
| typedef Teuchos::RCP< Elements_Type > | ElementsPtr_Type |
| typedef Teuchos::RCP< const Elements_Type > | ElementsConstPtr_Type |
| typedef Matrix< SC, LO, GO, NO > | Matrix_Type |
| typedef Teuchos::RCP< Matrix_Type > | MatrixPtr_Type |
| typedef Matrix_Type::MapPtr_Type | MapPtr_Type |
| typedef Matrix_Type::MapConstPtr_Type | MapConstPtr_Type |
| typedef MultiVector< SC, LO, GO, NO > | MultiVector_Type |
| typedef Teuchos::RCP< MultiVector_Type > | MultiVectorPtr_Type |
| typedef Teuchos::RCP< const MultiVector_Type > | MultiVectorConstPtr_Type |
| typedef std::vector< GO > | vec_GO_Type |
| typedef std::vector< vec_GO_Type > | vec2D_GO_Type |
| typedef std::vector< vec2D_GO_Type > | vec3D_GO_Type |
| typedef Teuchos::RCP< vec3D_GO_Type > | vec3D_GO_ptr_Type |
| typedef AssembleFE< SC, LO, GO, NO > | AssembleFE_Type |
| typedef Teuchos::RCP< AssembleFE_Type > | AssembleFEPtr_Type |
| typedef AssembleFENavierStokes< SC, LO, GO, NO > | AssembleFENavierStokes_Type |
| typedef Teuchos::RCP< AssembleFENavierStokes_Type > | AssembleFENavierStokesPtr_Type |
| typedef AssembleFEGeneralizedNewtonian< SC, LO, GO, NO > | AssembleFEGeneralizedNewtonian_Type |
| typedef Teuchos::RCP< AssembleFEGeneralizedNewtonian_Type > | AssembleFEGeneralizedNewtonianPtr_Type |
| typedef AssembleFE_SCI_SMC_Active_Growth_Reorientation< SC, LO, GO, NO > | AssembleFE_SCI_SMC_Active_Growth_Reorientation_Type |
| typedef Teuchos::RCP< AssembleFE_SCI_SMC_Active_Growth_Reorientation_Type > | AssembleFE_SCI_SMC_Active_Growth_Reorientation_Ptr_Type |
| typedef std::vector< AssembleFEPtr_Type > | AssembleFEPtr_vec_Type |
| typedef BlockMatrix< SC, LO, GO, NO > | BlockMatrix_Type |
| typedef Teuchos::RCP< BlockMatrix_Type > | BlockMatrixPtr_Type |
| typedef BlockMultiVector< SC, LO, GO, NO > | BlockMultiVector_Type |
| typedef Teuchos::RCP< BlockMultiVector_Type > | BlockMultiVectorPtr_Type |
| typedef SmallMatrix< SC > | SmallMatrix_Type |
| typedef Teuchos::RCP< SmallMatrix_Type > | SmallMatrixPtr_Type |
Public Member Functions | |
| FE_ElementAssembly (bool saveAssembly=false) | |
| void | addFE (DomainConstPtr_Type domain) |
| void | doSetZeros (double eps=10 *Teuchos::ScalarTraits< SC >::eps()) |
| void | assemblyEmptyMatrix (MatrixPtr_Type &A) |
| void | assemblyNonlinearLaplace (int dim, std::string FEType, int degree, MultiVectorPtr_Type u_rep, BlockMatrixPtr_Type &A, BlockMultiVectorPtr_Type &resVec, ParameterListPtr_Type params, std::string assembleMode, bool callFillComplete=true, int FELocExternal=-1) |
| Assembly of Jacobian for nonlinear Laplace example. | |
| void | assemblyNavierStokes (int dim, std::string FETypeVelocity, std::string FETypePressure, int degree, int dofsVelocity, int dofsPressure, MultiVectorPtr_Type u_rep, MultiVectorPtr_Type p_rep, BlockMatrixPtr_Type &A, BlockMultiVectorPtr_Type &resVec, SmallMatrix_Type coeff, ParameterListPtr_Type params, bool reAssemble, std::string assembleMode, bool callFillComplete=true, int FELocExternal=-1) |
| Assembly of Jacobian for NavierStokes. | |
| void | assemblyLaplaceAssFE (int dim, std::string FEType, int degree, int dofs, BlockMatrixPtr_Type &A, bool callFillComplete, int FELocExternal=-1) |
Assembly of constant stiffness matix for laplacian operator ![]() | |
| void | assemblyAceDeformDiffu (int dim, std::string FETypeChem, std::string FETypeSolid, int degree, int dofsChem, int dofsSolid, MultiVectorPtr_Type c_rep, MultiVectorPtr_Type d_rep, BlockMatrixPtr_Type &A, BlockMultiVectorPtr_Type &resVec, ParameterListPtr_Type params, std::string assembleMode, bool callFillComplete=true, int FELocExternal=-1) |
| void | assemblyAceDeformDiffuBlock (int dim, std::string FETypeChem, std::string FETypeSolid, int degree, int dofsChem, int dofsSolid, MultiVectorPtr_Type c_rep, MultiVectorPtr_Type d_rep, BlockMatrixPtr_Type &A, int blockRow, int blockCol, BlockMultiVectorPtr_Type &resVec, int block, ParameterListPtr_Type params, std::string assembleMode, bool callFillComplete=true, int FELocExternal=-1) |
| void | advanceInTimeAssemblyFEElements (double dt, MultiVectorPtr_Type d_rep, MultiVectorPtr_Type c_rep) |
| void | assemblyLinearElasticity (int dim, std::string FEType, int degree, int dofs, MultiVectorPtr_Type d_rep, BlockMatrixPtr_Type &A, BlockMultiVectorPtr_Type &resVec, ParameterListPtr_Type params, bool reAssemble, std::string assembleMode, bool callFillComplete=true, int FELocExternal=-1) |
| Assembly of Jacobian. | |
| void | assemblyNonLinearElasticity (int dim, std::string FEType, int degree, int dofs, MultiVectorPtr_Type d_rep, BlockMatrixPtr_Type &A, BlockMultiVectorPtr_Type &resVec, ParameterListPtr_Type params, bool callFillComplete=true, int FELocExternal=-1) |
| Assembly of Jacobian for nonlinear Elasticity. | |
| void | assemblyNonLinearElasticity (int dim, std::string FEType, int degree, int dofs, MultiVectorPtr_Type d_rep, BlockMatrixPtr_Type &A, BlockMultiVectorPtr_Type &resVec, ParameterListPtr_Type params, DomainConstPtr_Type domain, MultiVectorPtr_Type eModVec, bool callFillComplete=true, int FELocExternal=-1) |
| Assembly of Jacobian for nonlinear Elasticity. | |
| void | computeSteadyViscosityFE_CM (int dim, std::string FETypeVelocity, std::string FETypePressure, int dofsVelocity, int dofsPressure, MultiVectorPtr_Type u_rep, MultiVectorPtr_Type p_rep, ParameterListPtr_Type params) |
| Postprocessing: Using a converged velocity solution -> compute averaged viscosity inside an element at center of mass. | |
| void | changeLinearizationFE (std::string linearization) |
| Method to loop over all assembleFESpecific elements and set the defined linearization. | |
Public Attributes | |
| BlockMultiVectorPtr_Type | const_output_fields |
| DomainConstPtr_vec_Type | domainVec_ |
Protected Member Functions | |
| int | checkFE (int Dimension, std::string FEType) |
| Checks which domain corresponds to certain FE Type and dimension. | |
| vec2D_dbl_Type | getCoordinates (vec_LO_Type localIDs, vec2D_dbl_ptr_Type points) |
| Returns coordinates of local node ids. | |
| vec_dbl_Type | getSolution (vec_LO_Type localIDs, MultiVectorPtr_Type u_rep, int dofsVelocity) |
| Returns entries of u of element. | |
Protected Attributes | |
| bool | setZeros_ |
| SC | myeps_ |
| bool | saveAssembly_ |
| void FEDD::FE_ElementAssembly< SC, LO, GO, NO >::assemblyAceDeformDiffu | ( | int | dim, |
| std::string | FETypeChem, | ||
| std::string | FETypeSolid, | ||
| int | degree, | ||
| int | dofsChem, | ||
| int | dofsSolid, | ||
| MultiVectorPtr_Type | c_rep, | ||
| MultiVectorPtr_Type | d_rep, | ||
| BlockMatrixPtr_Type & | A, | ||
| BlockMultiVectorPtr_Type & | resVec, | ||
| ParameterListPtr_Type | params, | ||
| std::string | assembleMode, | ||
| bool | callFillComplete = true, | ||
| int | FELocExternal = -1 ) |
Tupel construction follows follwing pattern: std::string: Physical Entity (i.e. Velocity) , std::string: Discretisation (i.e. "P2"), int: Degrees of Freedom per Node, int: Number of Nodes per element)


| void FEDD::FE_ElementAssembly< SC, LO, GO, NO >::assemblyAceDeformDiffuBlock | ( | int | dim, |
| std::string | FETypeChem, | ||
| std::string | FETypeSolid, | ||
| int | degree, | ||
| int | dofsChem, | ||
| int | dofsSolid, | ||
| MultiVectorPtr_Type | c_rep, | ||
| MultiVectorPtr_Type | d_rep, | ||
| BlockMatrixPtr_Type & | A, | ||
| int | blockRow, | ||
| int | blockCol, | ||
| BlockMultiVectorPtr_Type & | resVec, | ||
| int | block, | ||
| ParameterListPtr_Type | params, | ||
| std::string | assembleMode, | ||
| bool | callFillComplete = true, | ||
| int | FELocExternal = -1 ) |
Tupel construction follows follwing pattern: std::string: Physical Entity (i.e. Velocity) , std::string: Discretisation (i.e. "P2"), int: Degrees of Freedom per Node, int: Number of Nodes per element)


| void FEDD::FE_ElementAssembly< SC, LO, GO, NO >::assemblyLaplaceAssFE | ( | int | dim, |
| std::string | FEType, | ||
| int | degree, | ||
| int | dofs, | ||
| BlockMatrixPtr_Type & | A, | ||
| bool | callFillComplete, | ||
| int | FELocExternal = -1 ) |
Assembly of constant stiffness matix for laplacian operator 
| [in] | dim | Dimension |
| [in] | FEType | FE Discretization |
| [in] | degree | Degree of basis function |
| [in] | A | Resulting matrix |
| [in] | callFillComplete | If Matrix A should be completely filled at end of function |
| [in] | FELocExternal |


| void FEDD::FE_ElementAssembly< SC, LO, GO, NO >::assemblyLinearElasticity | ( | int | dim, |
| std::string | FEType, | ||
| int | degree, | ||
| int | dofs, | ||
| MultiVectorPtr_Type | d_rep, | ||
| BlockMatrixPtr_Type & | A, | ||
| BlockMultiVectorPtr_Type & | resVec, | ||
| ParameterListPtr_Type | params, | ||
| bool | reAssemble, | ||
| std::string | assembleMode, | ||
| bool | callFillComplete = true, | ||
| int | FELocExternal = -1 ) |
Assembly of Jacobian.
| [in] | dim | Dimension |
| [in] | FEType | FE Discretization |
| [in] | degree | Degree of basis function |
| [in] | A | Resulting matrix |
| [in] | callFillComplete | If Matrix A should be completely filled at end of function |
| [in] | FELocExternal |
Inserting element stiffness matrices into global stiffness matrix
| [in] | &A | Global Block Matrix |
| [in] | elementMatrix | Stiffness matrix of one element |
| [in] | element | Corresponding finite element |
| [in] | map | Map that corresponds to repeated nodes of first block |
| [in] | map | Map that corresponds to repeated nodes of second block |
Inserting local rhsVec into global residual Mv;
| [in] | res | BlockMultiVector of residual vec; Repeated distribution; 2 blocks |
| [in] | rhsVec | sorted the same way as residual vec |
| [in] | element | of block1 |
Assembly of Jacobian for Linear Elasticity
| [in] | dim | Dimension |
| [in] | FEType | FE Discretization |
| [in] | degree | Degree of basis function |
| [in] | A | Resulting matrix |
| [in] | callFillComplete | If Matrix A should be completely filled at end of function |
| [in] | FELocExternal |
Tupel construction follows follwing pattern: std::string: Physical Entity (i.e. Velocity) , std::string: Discretisation (i.e. "P2"), int: Degrees of Freedom per Node, int: Number of Nodes per element)


| void FEDD::FE_ElementAssembly< SC, LO, GO, NO >::assemblyNavierStokes | ( | int | dim, |
| std::string | FETypeVelocity, | ||
| std::string | FETypePressure, | ||
| int | degree, | ||
| int | dofsVelocity, | ||
| int | dofsPressure, | ||
| MultiVectorPtr_Type | u_rep, | ||
| MultiVectorPtr_Type | p_rep, | ||
| BlockMatrixPtr_Type & | A, | ||
| BlockMultiVectorPtr_Type & | resVec, | ||
| SmallMatrix_Type | coeff, | ||
| ParameterListPtr_Type | params, | ||
| bool | reAssemble, | ||
| std::string | assembleMode, | ||
| bool | callFillComplete = true, | ||
| int | FELocExternal = -1 ) |
Assembly of Jacobian for NavierStokes.
| [in] | dim | Dimension |
| [in] | FEType | FE Discretization |
| [in] | degree | Degree of basis function |
| [in] | A | Resulting matrix |
| [in] | callFillComplete | If Matrix A should be completely filled at end of function |
| [in] | FELocExternal |
Tupel construction follows follwing pattern: std::string: Physical Entity (i.e. Velocity) , std::string: Discretisation (i.e. "P2"), int: Degrees of Freedom per Node, int: Number of Nodes per element)


| void FEDD::FE_ElementAssembly< SC, LO, GO, NO >::assemblyNonLinearElasticity | ( | int | dim, |
| std::string | FEType, | ||
| int | degree, | ||
| int | dofs, | ||
| MultiVectorPtr_Type | d_rep, | ||
| BlockMatrixPtr_Type & | A, | ||
| BlockMultiVectorPtr_Type & | resVec, | ||
| ParameterListPtr_Type | params, | ||
| bool | callFillComplete = true, | ||
| int | FELocExternal = -1 ) |
Assembly of Jacobian for nonlinear Elasticity.
| [in] | dim | Dimension |
| [in] | FEType | FE Discretization |
| [in] | degree | Degree of basis function |
| [in] | A | Resulting matrix |
| [in] | callFillComplete | If Matrix A should be completely filled at end of function |
| [in] | FELocExternal |
Tupel construction follows follwing pattern: std::string: Physical Entity (i.e. Velocity) , std::string: Discretisation (i.e. "P2"), int: Degrees of Freedom per Node, int: Number of Nodes per element)


| void FEDD::FE_ElementAssembly< SC, LO, GO, NO >::assemblyNonLinearElasticity | ( | int | dim, |
| std::string | FEType, | ||
| int | degree, | ||
| int | dofs, | ||
| MultiVectorPtr_Type | d_rep, | ||
| BlockMatrixPtr_Type & | A, | ||
| BlockMultiVectorPtr_Type & | resVec, | ||
| ParameterListPtr_Type | params, | ||
| DomainConstPtr_Type | domain, | ||
| MultiVectorPtr_Type | eModVec, | ||
| bool | callFillComplete = true, | ||
| int | FELocExternal = -1 ) |
Assembly of Jacobian for nonlinear Elasticity.
| [in] | dim | Dimension |
| [in] | FEType | FE Discretization |
| [in] | degree | Degree of basis function |
| [in] | A | Resulting matrix |
| [in] | callFillComplete | If Matrix A should be completely filled at end of function |
| [in] | FELocExternal |
Tupel construction follows follwing pattern: std::string: Physical Entity (i.e. Velocity) , std::string: Discretisation (i.e. "P2"), int: Degrees of Freedom per Node, int: Number of Nodes per element)

| void FEDD::FE_ElementAssembly< SC, LO, GO, NO >::assemblyNonlinearLaplace | ( | int | dim, |
| std::string | FEType, | ||
| int | degree, | ||
| MultiVectorPtr_Type | u_rep, | ||
| BlockMatrixPtr_Type & | A, | ||
| BlockMultiVectorPtr_Type & | resVec, | ||
| ParameterListPtr_Type | params, | ||
| std::string | assembleMode, | ||
| bool | callFillComplete = true, | ||
| int | FELocExternal = -1 ) |
Assembly of Jacobian for nonlinear Laplace example.
| [in] | dim | Dimension |
| [in] | FEType | FE Discretization |
| [in] | degree | Degree of basis function |
| [in] | u_rep | The current solution |
| [in] | A | Resulting matrix |
| [in] | resVec | Resulting residual |
| [in] | params | Params needed by the problem. Placeholder for now. |
| [in] | assembleMode | What should be assembled i.e. Rhs (residual) or the Jacobian |
| [in] | callFillComplete | If Matrix A should be redistributed across MPI procs at end of function |
| [in] | FELocExternal | ? |


| void FEDD::FE_ElementAssembly< SC, LO, GO, NO >::changeLinearizationFE | ( | std::string | linearization | ) |
Method to loop over all assembleFESpecific elements and set the defined linearization.
| [in] | string | linearization e.g. "Picard" or "Newton" |


| void FEDD::FE_ElementAssembly< SC, LO, GO, NO >::computeSteadyViscosityFE_CM | ( | int | dim, |
| std::string | FETypeVelocity, | ||
| std::string | FETypePressure, | ||
| int | dofsVelocity, | ||
| int | dofsPressure, | ||
| MultiVectorPtr_Type | u_rep, | ||
| MultiVectorPtr_Type | p_rep, | ||
| ParameterListPtr_Type | params ) |
Postprocessing: Using a converged velocity solution -> compute averaged viscosity inside an element at center of mass.
| [in] | dim | Dimension |
| [in] | FEType | FE Discretization |
| [in] | degree | Degree of basis function |
| [in] | repeated | solution fields for u and p |
| [in] | parameter | lists |


|
protected |
Returns coordinates of local node ids.
| [in] | localIDs | |
| [in] | points | |
| [out] | coordinates |


|
protected |
Returns entries of u of element.
| [in] | localIDs | |
| [in] | points | |
| [out] | coordinates |

