{"data":{"id":"10.4121/b09ee994-f564-4f27-a9c3-bf965c94bf28","type":"dois","attributes":{"doi":"10.4121/b09ee994-f564-4f27-a9c3-bf965c94bf28","prefix":"10.4121","suffix":"b09ee994-f564-4f27-a9c3-bf965c94bf28","identifiers":[],"alternateIdentifiers":[],"creators":[{"name":"Dijkstra, Kevin","nameType":"Personal","givenName":"Kevin","familyName":"Dijkstra","nameIdentifiers":[{"nameIdentifier":"0009-0002-4324-1122","nameIdentifierScheme":"https://orcid.org/"}],"affiliation":[]}],"titles":[{"title":"Pbox Code, supporting the publication: Macro-element refinement schemes for THB-splines: Applications to Bézier projection and structure-preserving discretizations"}],"publisher":"4TU.ResearchData","container":{},"publicationYear":2026,"subjects":[{"subject":"Numerical and Computational Mathematics","subjectScheme":"Australian and New Zealand Standard Research Classification (ANZSRC), 2008","classificationCode":"0103"},{"subject":"FOS: Mathematics","schemeUri":"http://www.oecd.org/science/inno/38235147.pdf","subjectScheme":"Fields of Science and Technology (FOS)"},{"subject":"Mathematical Sciences","subjectScheme":"Australian and New Zealand Standard Research Classification (ANZSRC), 2008","classificationCode":"01"},{"subject":"python"},{"subject":"isogeometric analysis"},{"subject":"finite element method"},{"subject":"adaptive refinement"}],"contributors":[{"name":"TU Delft, Faculty of Electrical Engineering, Mathematics and Computer Science, Delft Institute of Applied Mathematics, Numerical Analysis","nameType":"Organizational","affiliation":[],"contributorType":"Other","nameIdentifiers":[]}],"dates":[{"date":"2026-06-19","dateType":"Issued"}],"language":"en","types":{"ris":"COMP","bibtex":"misc","citeproc":"article","schemaOrg":"SoftwareSourceCode","resourceType":"Software","resourceTypeGeneral":"Software"},"relatedIdentifiers":[{"relationType":"IsSupplementTo","relatedIdentifier":"10.1016/j.cma.2025.118707","relatedIdentifierType":"DOI"},{"relationType":"IsVersionOf","relatedIdentifier":"10.4121/b09ee994-f564-4f27-a9c3-bf965c94bf28.v1","relatedIdentifierType":"DOI"}],"relatedItems":[],"sizes":[],"formats":["The code is mainly .py files, but this database also contains some matlab datafiles, and various image files."],"version":"1","rightsList":[{"rights":"MIT License","rightsUri":"https://opensource.org/licenses/MIT","schemeUri":"https://spdx.org/licenses/","rightsIdentifier":"mit","rightsIdentifierScheme":"SPDX"}],"descriptions":[{"description":"The Python code base that adds pbox meshes to Nutils, an open-source finite element package in Python. This is an implementation of my work, presented in the linked article.\u003cbr\u003eThe package can be installed as an additional package on top of Nutils and, as much as possible, uses the same code structure and functions. As a result, it is very easy to replace a standard nutils rectilinear mesh with a pbox mesh, and refinement uses similar arguments.\u003cbr\u003eThe main benefit of using this package is:It implements pbox meshes in Nutils. As a result, when using Nutils, the user will not have to do this themselves.One of the main benefits of using a Pbox mesh is that it allows for an efficient local projector. This has also been implemented in this code base.\u003cbr\u003eThe actual code is in the /src folder (and can be installed via pip), and various examples are in the /Examples folder.\u003cbr\u003eThe /FigureScripts folder contains the code and figures used to generate the article's figures, along with the data sets used to produce them.","descriptionType":"Abstract"}],"geoLocations":[],"fundingReferences":[{"awardTitle":"Pieter Paul Petrich Fund / TU Delft Fast Track Grant","funderName":"unknown"}],"xml":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJlc291cmNlIHhtbG5zPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCBodHRwOi8vc2NoZW1hLmRhdGFjaXRlLm9yZy9tZXRhL2tlcm5lbC00LjQvbWV0YWRhdGEueHNkIj4KICA8aWRlbnRpZmllciBpZGVudGlmaWVyVHlwZT0iRE9JIj4xMC40MTIxL0IwOUVFOTk0LUY1NjQtNEYyNy1BOUMzLUJGOTY1Qzk0QkYyODwvaWRlbnRpZmllcj4KICA8Y3JlYXRvcnM+CiAgICA8Y3JlYXRvcj4KICAgICAgPGNyZWF0b3JOYW1lIG5hbWVUeXBlPSJQZXJzb25hbCI+S2V2aW4gRGlqa3N0cmE8L2NyZWF0b3JOYW1lPgogICAgICA8Z2l2ZW5OYW1lPktldmluPC9naXZlbk5hbWU+CiAgICAgIDxmYW1pbHlOYW1lPkRpamtzdHJhPC9mYW1pbHlOYW1lPgogICAgICA8bmFtZUlkZW50aWZpZXIgbmFtZUlkZW50aWZpZXJTY2hlbWU9Imh0dHBzOi8vb3JjaWQub3JnLyI+MDAwOS0wMDAyLTQzMjQtMTEyMjwvbmFtZUlkZW50aWZpZXI+CiAgICA8L2NyZWF0b3I+CiAgPC9jcmVhdG9ycz4KICA8dGl0bGVzPgogICAgPHRpdGxlPlBib3ggQ29kZSwgc3VwcG9ydGluZyB0aGUgcHVibGljYXRpb246IE1hY3JvLWVsZW1lbnQgcmVmaW5lbWVudCBzY2hlbWVzIGZvciBUSEItc3BsaW5lczogQXBwbGljYXRpb25zIHRvIELDqXppZXIgcHJvamVjdGlvbiBhbmQgc3RydWN0dXJlLXByZXNlcnZpbmcgZGlzY3JldGl6YXRpb25zPC90aXRsZT4KICA8L3RpdGxlcz4KICA8cHVibGlzaGVyPjRUVS5SZXNlYXJjaERhdGE8L3B1Ymxpc2hlcj4KICA8cHVibGljYXRpb25ZZWFyPjIwMjY8L3B1YmxpY2F0aW9uWWVhcj4KICA8cmVzb3VyY2VUeXBlIHJlc291cmNlVHlwZUdlbmVyYWw9IlNvZnR3YXJlIj5Tb2Z0d2FyZTwvcmVzb3VyY2VUeXBlPgogIDxzdWJqZWN0cz4KICAgIDxzdWJqZWN0IHN1YmplY3RTY2hlbWU9IkF1c3RyYWxpYW4gYW5kIE5ldyBaZWFsYW5kIFN0YW5kYXJkIFJlc2VhcmNoIENsYXNzaWZpY2F0aW9uIChBTlpTUkMpLCAyMDA4IiBjbGFzc2lmaWNhdGlvbkNvZGU9IjAxMDMiPk51bWVyaWNhbCBhbmQgQ29tcHV0YXRpb25hbCBNYXRoZW1hdGljczwvc3ViamVjdD4KICAgIDxzdWJqZWN0IHN1YmplY3RTY2hlbWU9IkF1c3RyYWxpYW4gYW5kIE5ldyBaZWFsYW5kIFN0YW5kYXJkIFJlc2VhcmNoIENsYXNzaWZpY2F0aW9uIChBTlpTUkMpLCAyMDA4IiBjbGFzc2lmaWNhdGlvbkNvZGU9IjAxIj5NYXRoZW1hdGljYWwgU2NpZW5jZXM8L3N1YmplY3Q+CiAgICA8c3ViamVjdD5weXRob248L3N1YmplY3Q+CiAgICA8c3ViamVjdD5pc29nZW9tZXRyaWMgYW5hbHlzaXM8L3N1YmplY3Q+CiAgICA8c3ViamVjdD5maW5pdGUgZWxlbWVudCBtZXRob2Q8L3N1YmplY3Q+CiAgICA8c3ViamVjdD5hZGFwdGl2ZSByZWZpbmVtZW50PC9zdWJqZWN0PgogIDwvc3ViamVjdHM+CiAgPGNvbnRyaWJ1dG9ycz4KICAgIDxjb250cmlidXRvciBjb250cmlidXRvclR5cGU9Ik90aGVyIj4KICAgICAgPGNvbnRyaWJ1dG9yTmFtZSBuYW1lVHlwZT0iT3JnYW5pemF0aW9uYWwiPlRVIERlbGZ0LCBGYWN1bHR5IG9mIEVsZWN0cmljYWwgRW5naW5lZXJpbmcsIE1hdGhlbWF0aWNzIGFuZCBDb21wdXRlciBTY2llbmNlLCBEZWxmdCBJbnN0aXR1dGUgb2YgQXBwbGllZCBNYXRoZW1hdGljcywgTnVtZXJpY2FsIEFuYWx5c2lzPC9jb250cmlidXRvck5hbWU+CiAgICA8L2NvbnRyaWJ1dG9yPgogIDwvY29udHJpYnV0b3JzPgogIDxkYXRlcz4KICAgIDxkYXRlIGRhdGVUeXBlPSJJc3N1ZWQiPjIwMjYtMDYtMTk8L2RhdGU+CiAgPC9kYXRlcz4KICA8bGFuZ3VhZ2U+ZW48L2xhbmd1YWdlPgogIDxyZWxhdGVkSWRlbnRpZmllcnM+CiAgICA8cmVsYXRlZElkZW50aWZpZXIgcmVsYXRlZElkZW50aWZpZXJUeXBlPSJET0kiIHJlbGF0aW9uVHlwZT0iSXNTdXBwbGVtZW50VG8iPjEwLjEwMTYvai5jbWEuMjAyNS4xMTg3MDc8L3JlbGF0ZWRJZGVudGlmaWVyPgogICAgPHJlbGF0ZWRJZGVudGlmaWVyIHJlbGF0ZWRJZGVudGlmaWVyVHlwZT0iRE9JIiByZWxhdGlvblR5cGU9IklzVmVyc2lvbk9mIj4xMC40MTIxL2IwOWVlOTk0LWY1NjQtNGYyNy1hOWMzLWJmOTY1Yzk0YmYyOC52MTwvcmVsYXRlZElkZW50aWZpZXI+CiAgPC9yZWxhdGVkSWRlbnRpZmllcnM+CiAgPGZvcm1hdHM+CiAgICA8Zm9ybWF0PlRoZSBjb2RlIGlzIG1haW5seSAucHkgZmlsZXMsIGJ1dCB0aGlzIGRhdGFiYXNlIGFsc28gY29udGFpbnMgc29tZSBtYXRsYWIgZGF0YWZpbGVzLCBhbmQgdmFyaW91cyBpbWFnZSBmaWxlcy48L2Zvcm1hdD4KICA8L2Zvcm1hdHM+CiAgPHZlcnNpb24+MTwvdmVyc2lvbj4KICA8cmlnaHRzTGlzdD4KICAgIDxyaWdodHMgcmlnaHRzVVJJPSJodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVCI+TUlUPC9yaWdodHM+CiAgPC9yaWdodHNMaXN0PgogIDxkZXNjcmlwdGlvbnM+CiAgICA8ZGVzY3JpcHRpb24gZGVzY3JpcHRpb25UeXBlPSJBYnN0cmFjdCI+Jmx0O3AmZ3Q7VGhlIFB5dGhvbiBjb2RlIGJhc2UgdGhhdCBhZGRzIHBib3ggbWVzaGVzIHRvIE51dGlscywgYW4gb3Blbi1zb3VyY2UgZmluaXRlIGVsZW1lbnQgcGFja2FnZSBpbiBQeXRob24uIFRoaXMgaXMgYW4gaW1wbGVtZW50YXRpb24gb2YgbXkgd29yaywgcHJlc2VudGVkIGluIHRoZSBsaW5rZWQgYXJ0aWNsZS4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7Jmx0O2JyJmd0OyZsdDsvcCZndDsmbHQ7cCZndDtUaGUgcGFja2FnZSBjYW4gYmUgaW5zdGFsbGVkIGFzIGFuIGFkZGl0aW9uYWwgcGFja2FnZSBvbiB0b3Agb2YgTnV0aWxzIGFuZCwgYXMgbXVjaCBhcyBwb3NzaWJsZSwgdXNlcyB0aGUgc2FtZSBjb2RlIHN0cnVjdHVyZSBhbmQgZnVuY3Rpb25zLiBBcyBhIHJlc3VsdCwgaXQgaXMgdmVyeSBlYXN5IHRvIHJlcGxhY2UgYSBzdGFuZGFyZCBudXRpbHMgcmVjdGlsaW5lYXIgbWVzaCB3aXRoIGEgcGJveCBtZXNoLCBhbmQgcmVmaW5lbWVudCB1c2VzIHNpbWlsYXIgYXJndW1lbnRzLiZsdDsvcCZndDsmbHQ7cCZndDsmbHQ7YnImZ3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSBtYWluIGJlbmVmaXQgb2YgdXNpbmcgdGhpcyBwYWNrYWdlIGlzOiZsdDsvcCZndDsmbHQ7dWwmZ3Q7Jmx0O2xpJmd0O0l0IGltcGxlbWVudHMgcGJveCBtZXNoZXMgaW4gTnV0aWxzLiBBcyBhIHJlc3VsdCwgd2hlbiB1c2luZyBOdXRpbHMsIHRoZSB1c2VyIHdpbGwgbm90IGhhdmUgdG8gZG8gdGhpcyB0aGVtc2VsdmVzLiZsdDsvbGkmZ3Q7Jmx0O2xpJmd0O09uZSBvZiB0aGUgbWFpbiBiZW5lZml0cyBvZiB1c2luZyBhIFBib3ggbWVzaCBpcyB0aGF0IGl0IGFsbG93cyBmb3IgYW4gZWZmaWNpZW50IGxvY2FsIHByb2plY3Rvci4gVGhpcyBoYXMgYWxzbyBiZWVuIGltcGxlbWVudGVkIGluIHRoaXMgY29kZSBiYXNlLiZsdDsvbGkmZ3Q7Jmx0Oy91bCZndDsmbHQ7cCZndDsmbHQ7YnImZ3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSBhY3R1YWwgY29kZSBpcyBpbiB0aGUgL3NyYyBmb2xkZXIgKGFuZCBjYW4gYmUgaW5zdGFsbGVkIHZpYSBwaXApLCBhbmQgdmFyaW91cyBleGFtcGxlcyBhcmUgaW4gdGhlIC9FeGFtcGxlcyBmb2xkZXIuJmx0Oy9wJmd0OyZsdDtwJmd0OyZsdDticiZndDsmbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7VGhlIC9GaWd1cmVTY3JpcHRzIGZvbGRlciBjb250YWlucyB0aGUgY29kZSBhbmQgZmlndXJlcyB1c2VkIHRvIGdlbmVyYXRlIHRoZSBhcnRpY2xlJ3MgZmlndXJlcywgYWxvbmcgd2l0aCB0aGUgZGF0YSBzZXRzIHVzZWQgdG8gcHJvZHVjZSB0aGVtLiAmbHQ7L3AmZ3Q7PC9kZXNjcmlwdGlvbj4KICA8L2Rlc2NyaXB0aW9ucz4KICA8ZnVuZGluZ1JlZmVyZW5jZXM+CiAgICA8ZnVuZGluZ1JlZmVyZW5jZT4KICAgICAgPGZ1bmRlck5hbWU+dW5rbm93bjwvZnVuZGVyTmFtZT4KICAgICAgPGF3YXJkVGl0bGU+UGlldGVyIFBhdWwgUGV0cmljaCBGdW5kIC8gVFUgRGVsZnQgRmFzdCBUcmFjayBHcmFudDwvYXdhcmRUaXRsZT4KICAgIDwvZnVuZGluZ1JlZmVyZW5jZT4KICA8L2Z1bmRpbmdSZWZlcmVuY2VzPgo8L3Jlc291cmNlPg==","url":"https://data.4tu.nl/datasets/b09ee994-f564-4f27-a9c3-bf965c94bf28","contentUrl":null,"metadataVersion":0,"schemaVersion":"http://datacite.org/schema/kernel-4","source":"api","isActive":true,"state":"findable","reason":null,"viewCount":0,"viewsOverTime":[],"downloadCount":0,"downloadsOverTime":[],"referenceCount":0,"citationCount":1,"citationsOverTime":[{"year":"2026","total":1}],"partCount":0,"partOfCount":0,"versionCount":0,"versionOfCount":1,"created":"2026-06-19T06:16:34.000Z","registered":"2026-06-19T06:16:35.000Z","published":"2026","updated":"2026-06-19T06:16:35.000Z"},"relationships":{"client":{"data":{"id":"delft.data4tu","type":"clients"}},"provider":{"data":{"id":"scpr","type":"providers"}},"media":{"data":{"id":"10.4121/b09ee994-f564-4f27-a9c3-bf965c94bf28","type":"media"}},"references":{"data":[]},"citations":{"data":[{"id":"10.1016/j.cma.2025.118707","type":"dois"}]},"parts":{"data":[]},"partOf":{"data":[]},"versions":{"data":[]},"versionOf":{"data":[{"id":"10.4121/b09ee994-f564-4f27-a9c3-bf965c94bf28.v1","type":"dois"}]}}}}