Skip to content

Future improvements #64

@philbucher

Description

@philbucher

This issue is a collections of ideas & thoughts for future improvements of the Plugin

GUI

Internal

  • use python f-strings (python 3.6!)
  • once done on the Kratos-side: Use latest docker container with Kratos (Wheels should not be used since they don't have the latest version, the docker-image gets rebuilt every night!)
  • Add tests for the tui-examples => requires ReadMdpa bcs I don't want to store the (big) mdpa-files from the examples => the idea is to compare only num elems etc and the ModelPart hierarchy
  • use lazy evaluation for logger
  • test logging with assertLogs
  • Add log level for TIMING (between DEBUG and INFO)

Documentation

Usability

  • Add a config file where options can be stored. This should be a json file in the root-dir (or maybe the .config dir in Linux?) of the Plugin. Probably load those into a py-file that can be accessed from everywhere => then it will no longer be necessary to temper with env-variables
  • Implement ReadMpda => needed to importing an mdpa and for testing
  • Create a mesh from ModelPart
  • import GiD geo file and create geometry from it. => for this the GiD-project needs to be saved as Ascii => not possible right now since Salome doesn't expose the creation of NURBS entities
  • maybe created ModelParts from different Main-Meshes? => think turbine which has multiple parts!
  • automatically switch orientation of faces and volumes in case it is wrong. Otherwise it will not work in Kratos. => see this branch
  • once GUI is there: add possibility to launch Kratos from GUI => subprocess
  • check why the logger prints are delayed while print works fine => might have sth to do with execute_in_salome and how the Popen is used => this could be related
  • get batch mode working in Windows. Preliminary tests using what is explained here were not successful

Performance (in this order)

  • before doing anything in this direction some benchmarks need to be defined
  • in GeometriesIO: check if overlapping IDs exist for already existing entities. If not then new entities can be added without checking if an entity was already created from this geom-entity.
  • Using __slots__ in the ModelPart => see this branch
  • using parallel-processing when adding entities in the GeometriesIO
  • using parallel processing when getting entities from Salome-Mesh. See here. => check if accessing Salome is threadsafe!!!

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions