8 #include <Eigen/Sparse> 9 #include <Eigen/SparseCholesky> 32 cout <<
"Usage: ex1 meshFile resultFile\n";
33 cout <<
"\tmeshFile\tLegacy VTK file defining the Finite Element mesh " 35 cout <<
"\tresultFile\tLegacy VTK file to write the result to\n\n";
39 int main(
int argc,
char **argv)
62 createMaskedConstantRHS<ConfiguratorType>(conf, shellHandler, 1.0, rhs,
true);
65 SparseMatrixType systemMat(conf.getNumGlobalDofs(), conf.getNumGlobalDofs());
68 integrand.assembleDirichlet<
SparseMatrixType> (systemMat, shellHandler.getDirichletMask());
71 Eigen::SimplicialLLT<SparseMatrixType> solver;
73 solver.compute(systemMat);
81 vtkWriter.
save(argv[2]);
void makeNeighbour() const
DataTypeContainer::VectorType VectorType
shellFE::ShellElementWithTangentSpaceAtVertex< DataTypeContainerShellFE > TriangleType
Different quadrature types for triangular meshes.
shellFE::CenterOfMassQuadrature< RealType, typename DataTypeContainerShellFE::DomVecType > QuadType
DataTypeContainer::SparseMatrixType SparseMatrixType
shellFE::UnitTriangMeshConfiguratorP1< DataTypeContainerShellFE, MeshType, QuadType > ConfiguratorType
Additional information about TriangleMeshes.
Implements right hand side assembly for exercise 1.
ConfiguratorType::SparseMatrixType SparseMatrixType
int getNumGlobalDofs() const
Returns the number of global degrees of freedom.
void save(string filename) const
LegacyVtkWriter & addScalarData(const VectorType &data, string dataDescr, DataSupp supp)
ConfiguratorType::VectorType VectorType
shellFE::TriangMesh< DataTypeContainerShellFE, TriangleType > MeshType
Eigen typedefs for use with the TriangleMesh.
Configurator for Finite Elements.
Triangle which has a tangent space at each node.
int main(int argc, char **argv)
Main function containing the basic structure of the code.