diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 16587f6557fe89f5a6709b8bd430ca4f9b94e0dc..b2f1a72a22b4fc5e6ab3a71380d82763fcbf1572 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,4 +1,4 @@ -4.5.6 (Work-in-progress): small bug fixes. +4.5.6 (Work-in-progress): API tutorials; small bug fixes. 4.5.5 (March 21, 2020): tooltips in GUI to help discovery of scripting options; fixed MED IO of high-order elements; fixed OCC attribute search by bounding box; @@ -6,7 +6,7 @@ fix parsing of mac-encoded scripts; new RecombineMesh command; added support for extrusion of mixed-dimension entities with OCC; small bug fixes. 4.5.4 (February 29, 2020): periodic mesh optimization now ensures that the -master mesh is not modified; code cleanup; API tutorials; small bug fixes. +master mesh is not modified; code cleanup; small bug fixes. 4.5.3 (February 22, 2020): improved positioning of corresponding nodes on periodic entities; improved LaTeX output; improved curve splitting in diff --git a/tutorial/c++/t8.cpp b/tutorial/c++/t8.cpp index 3e04c501baf2f8568882f7d99de5eaefc4a8d259..eabf507216ad903966630a43c82efaff58d7bab1 100644 --- a/tutorial/c++/t8.cpp +++ b/tutorial/c++/t8.cpp @@ -11,7 +11,7 @@ int main(int argc, char **argv) gmsh::initialize(); gmsh::option::setNumber("General.Terminal", 1); - model::add("t7"); + model::add("t8"); // Copied from t1.cpp... double lc = 1e-2; @@ -35,6 +35,7 @@ int main(int argc, char **argv) } catch(...) { gmsh::logger::write("Could not load post-processing views: bye!"); + gmsh::finalize(); return 0; } diff --git a/tutorial/python/t14.py b/tutorial/python/t14.py index 05852ccda11aed20122e17094ba7144c269c17ca..9d3a67debb0b53a9e77269744d07dfa6885012b8 100644 --- a/tutorial/python/t14.py +++ b/tutorial/python/t14.py @@ -1,13 +1,5 @@ # This file reimplements gmsh/tutorial/t14.geo in Python. -# /********************************************************************* -# * -# * Gmsh tutorial 14 -# * -# * Homology and cohomology computation -# * -# *********************************************************************/ - # Homology computation in Gmsh finds representative chains of (relative) # (co)homology space bases using a mesh of a model. The representative basis # chains are stored in the mesh as physical groups of Gmsh, one for each chain. @@ -90,32 +82,44 @@ for tag in terminal_tags: # Whole domain surface boundary_physical_tag = 2002 -gmsh.model.addPhysicalGroup(dim=2, tags=boundary_tags, tag=boundary_physical_tag) -gmsh.model.setPhysicalName(dim=2, tag=boundary_physical_tag, name="Boundary") +gmsh.model.addPhysicalGroup(dim=2, tags=boundary_tags, + tag=boundary_physical_tag) +gmsh.model.setPhysicalName(dim=2, tag=boundary_physical_tag, + name="Boundary") # Complement of the domain surface respect to the four terminals complement_physical_tag = 2003 -gmsh.model.addPhysicalGroup(dim=2, tags=complement_tags, tag=complement_physical_tag) -gmsh.model.setPhysicalName(dim=2, tag=complement_physical_tag, name="Complement") +gmsh.model.addPhysicalGroup(dim=2, tags=complement_tags, + tag=complement_physical_tag) +gmsh.model.setPhysicalName(dim=2, tag=complement_physical_tag, + name="Complement") gmsh.model.geo.synchronize() # Find bases for relative homology spaces of the domain modulo the four # terminals. -gmsh.model.mesh.computeHomology(domainTags=[domain_physical_tag], subdomainTags=[terminals_physical_tag], dims=[0,1,2,3]) +gmsh.model.mesh.computeHomology(domainTags=[domain_physical_tag], + subdomainTags=[terminals_physical_tag], + dims=[0,1,2,3]) # Find homology space bases isomorphic to the previous bases: homology spaces # modulo the non-terminal domain surface, a.k.a the thin cuts. -gmsh.model.mesh.computeHomology(domainTags=[domain_physical_tag], subdomainTags=[complement_physical_tag], dims=[0,1,2,3]) +gmsh.model.mesh.computeHomology(domainTags=[domain_physical_tag], + subdomainTags=[complement_physical_tag], + dims=[0,1,2,3]) # Find cohomology space bases isomorphic to the previous bases: cohomology # spaces of the domain modulo the four terminals, a.k.a the thick cuts. -gmsh.model.mesh.computeCohomology(domainTags=[domain_physical_tag], subdomainTags=[terminals_physical_tag], dims=[0,1,2,3]) +gmsh.model.mesh.computeCohomology(domainTags=[domain_physical_tag], + subdomainTags=[terminals_physical_tag], + dims=[0,1,2,3]) # more examples -#gmsh.model.mesh.computeHomology() -#gmsh.model.mesh.computeHomology(domainTags=[domain_physical_tag]) -#gmsh.model.mesh.computeHomology(domainTags=[domain_physical_tag], subdomainTags=[boundary_physical_tag], dims=[0,1,2,3]) +# gmsh.model.mesh.computeHomology() +# gmsh.model.mesh.computeHomology(domainTags=[domain_physical_tag]) +# gmsh.model.mesh.computeHomology(domainTags=[domain_physical_tag], +# subdomainTags=[boundary_physical_tag], +# dims=[0,1,2,3]) # Generate the mesh and perform the requested homology computations gmsh.model.mesh.generate(3)