These definitions make many of Ferrites functions work out of the box, e.g. For the special case of node- and cellsets the dictionary's value is of type Set) = grid.nodes_testįerrite.getnnodes(grid::SmallGrid) = length(grid.nodes_test)įerrite.get_coordinate_eltype(::SmallGrid) = Float64įerrite.nnodes_per_cell(grid::SmallGrid, i::Int=1) = Ferrite.nnodes(grid.cells_test)įerrite.n_faces_per_cell(grid::SmallGrid) = nfaces(eltype(grid.cells_test)) All of these three sets are defined by a dictionary that maps a string key to a Set. Additionally, the data structure Grid can hold node-, face- and cellsets. Where each Quadrilateral, which is a subtype of AbstractCell saves in the field nodes the tuple of node IDs. The cells of the grid can be described in the following way julia> cells = [ n1 = Node((0.0, 0.0))Ĭells are defined based on the Node IDs. Nodes are points in the physical space and can be initialized by a N-Tuple, where N corresponds to the dimensions. In Ferrite a Grid is a collection of Nodes and Cells and is parameterized in its physical dimensionality and cell type. If you are missing the translation of an Abaqus element that is equivalent to a Ferrite.Cell, consider to open an issue or a pull request. generate_facesets: Should facesets be automatically generated from all nodesets?.user_elements: Used to add extra elements not supported, might require a separate cell constructor.meshformat: Which format the mesh is given in, normally automatically detected by the file extension.Greate a Ferrite.Grid by reading in the file specified by filename. FerriteMeshParser.get_ferrite_grid - Function Custom translations can be given as input, which can be used to import other (custom) elements or to override the default translation. The translations for most of Abaqus' standard 2d and 3d continuum elements to a Ferrite.Cell are defined. inp) to a Ferrite.Grid with its function get_ferrite_grid. FerriteMeshParserįerriteMeshParser.jl converts the mesh in an Abaqus input file (. For an exemplary usage of Gmsh.jl and FerriteGmsh.jl, consider the Stokes flow and Incompressible Navier-Stokes Equations via DifferentialEquations.jl example. The reordering of nodes is necessary if the Gmsh ordering doesn't match the one from Ferrite. If you want to read another, not yet supported cell from gmsh, consider to open a PR at FerriteGmsh that extends the gmshtoferritecell dict and if needed, reorder the element nodes by dispatching anslate_elements. Further, if you choose to read the grid directly from the current model of the gmsh API you get artificial nodes, which doesn't harm the FE computation, but maybe distort your sophisticated grid operations (if present). msh file is the advertised way, since otherwise you remesh whenever you run the code.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |