Skip to content

Latest commit

 

History

History
59 lines (50 loc) · 1.98 KB

File metadata and controls

59 lines (50 loc) · 1.98 KB

Instruction

1.here, we have three possible entrance:

  • src/fem/topologyOptimization.py using 3D 1x1x1 RVE model
  • src/fem/topologyOptimization33.py using 3D 3x3x3 RVE model
  • src/fem/twoDTopologyOptimization33.py using 2D 3x3 RVE model

2.RVE models are defined at data:

  • data/EVG for 1x1x1 RVE model
  • data/Kernels for 3x3x3 and 3x3 RVE model, parameters can be changed in SIgmaInterpreter_**.py

3.msh is used to define design space, and can be generated in 1.

4.stp are used for 1x1x1 RVE models, for constructing stl from RVE model

5. src/dynamicGenerator/stlConstructor.py is used to obtain stl

while this process is not integated into the main procedure, you can run it manully.

parameters should be defined correctly.

6. CPU is used explicitly.

GPU is supported in theropy, if you have enough GPU memory, maybe you can give it a try.

7. conda, conda-forge, and pip are employed:

  • to create conda environment with requirements
  • and the name of environment can be changed in environment.yaml
conda env create -f environment.yml
  • to update conda environment
conda install -f environment.yml
  • To export conda environment
conda env export --from-history > environment.yml
  • to export pip requirements
pipreqs . --force
  • to install jax-cuda12
pip install -U "jax[cuda12]"

8. Use AI tool for understanding.

For me, English Code Comments are not intuition. So some comments are in Chinese. And some codes are vibe coding, but human supervised.

Using AI tool to help you understand the algorithm will be a good idea.

When I started this project, I was not good at JAX coding, and when I can code well, the project is to heavy to recode.

Maybe implementing your own dWFC instead of using my code will be a good choice.