neperfepx / neper

Polycrystal generation and meshing
http://neper.info
GNU General Public License v3.0
199 stars 53 forks source link

NEPER BUG Discovered #343

Closed aksiteray closed 2 years ago

aksiteray commented 2 years ago

Good day Sir/Madam,

Please kindly note that I have found a bug in NEPER while I was trying to run some tesselations. Please see the image for further information.

NEPER Bug

NEPER Bug_Dset1

I tried to run this code via using the python code I wrote and did not manage to activate through python even so NEPER was installed within my system. It simply created the neper line I was seeking and formed the matrix that I wanted to read lamnormal and lamwidth vectors. And I manually copy pasted the created NEPER line to UBUNTU to run, and got the attached images as a result. I am also sharing my code for you to review: CODE: import random

import subprocess

from subprocess import call

from subprocess import run

import pandas as pnd

import glob

import os import numpy as nmp

-----------------------------------------------------------------------------

SIZE= 1024

image_directory="/nfs/hpc/share/aksite/Neper_trial/"

trial_directory="/mnt/c/ubuntu/trial"

cd /mnt/c/ubuntu/trial

python3 EA_Neper_Dset1.py

-----------------------------------------------------------------------------

Label and Dataset

label=[] dataset=[] number_img_dset1=0

-----------------------------------------------------------------------------

Constants

lamwidth_a = 10 lamwidth_b = 0.05 lamwidth_c = 0.02 Small_Grains = 100 Big_Grains = 10 Columnar_Grain_Count_1 = 50 Equiaxed_Grain_Count_1 = 50 Columnar_Grain_Count_2 = 5 Equiaxed_Grain_Count_2 = 5 Columnar_Grain_Count_3 = 25 Equiaxed_Grain_Count_3 = 75 Columnar_Grain_Count_4 = 3 Equiaxed_Grain_Count_4 = 7 Columnar_Grain_Count_5 = 10 Equiaxed_Grain_Count_5 = 90 Columnar_Grain_Count_6 = 1 Equiaxed_Grain_Count_6 = 9 Morpho = '"diameq:lognormal(1,0.1),sphericity:lognormal(0.145,0.03,1-x)::lamellar(w=lamwidth,v=lamnormal)"' Transparency = 0.5

-----------------------------------------------------------------------------

Dataset 1

Dset = 1 i = 0 Grain_Count = 0 Columnar_Count = 0 Equiaxed_Count = 0 lamwidth = nmp.empty(Big_Grains,dtype=object) lamnormal = nmp.zeros((Big_Grains,3),dtype=object) while Grain_Count < Big_Grains: for i in range(Big_Grains): a = random.randint(0,1) b = random.randint(0,1) c = random.randint(0,1) w = random.randint(0,1) lamnormal[i,0] = a lamnormal[i,1] = b lamnormal[i,2] = c if w == 0: if Equiaxed_Count <= Equiaxed_Grain_Count_2: lamwidth[i] = lamwidth_a Equiaxed_Count += 1 else: lamwidth[i] = lamwidth_c Columnar_Count += 1 else: if Columnar_Count <= Columnar_Grain_Count_2: lamwidth[i] = lamwidth_c Columnar_Count += 1 else: lamwidth[i] = lamwidth_a Equiaxed_Count += 1 i += 1 Grain_Count += 1 npt = "neper -T -n "+str(Big_Grains)+"::from_morpho -id 4::1 -dim 2 -morpho "+str(Morpho)+" -reg 1 -sel 0.004 -format tess,ori -o Polycrystal_laminated_Dset"+str(Dset) npv = "neper -V Polycrystal_laminated_Dset"+str(Dset)+".tess id -datacelltrs "+str(Transparency)+" -print Polycrystal_laminated_Dset"+str(Dset)+"_image" print(npt) print(npv) Can you please help to resolve the issue with the bug? Thank you kindly. Regards, ERAY AKSIT

aksiteray commented 2 years ago

@rquey

aksiteray commented 2 years ago

I have fixed some issues with the code above in my Python code. Also made 'v=random', but issue remains with the error message saying "you have discovered a bug in NEPER!"

aksiteray commented 2 years ago

image If not the bug message, then it gets stuck in the running tessellations part.

aksiteray commented 2 years ago

10 0.02 0.02 0.02 0.02 0.02 10 0.02 10 10 0.02 10 0.02 10 10 10 0.02 10 0.02 10 0.02 10 10 0.02 10 0.02 10 0.02 10 0.02 10 10 10 10 0.02 0.02 0.02 10 10 0.02 10 0.02 0.02 10 0.02 0.02 10 0.02 10 10 10 10 0.02 0.02 0.02 10 0.02 0.02 10 0.02 10 10 10 10 0.02 10 0.02 10 0.02 0.02 0.02 10 0.02 0.02 0.02 10 10 10 0.02 0.02 0.02 0.02 0.02 10 10 10 10 10 10 0.02 10 0.02 0.02 0.02 0.02 10 0.02 0.02 10 0.02

This is the lamwidth0 file

rquey commented 2 years ago

Use 1-sphericity:lognormal(0.145,0.03) instead of sphericity:lognormal(0.145,0.03,1-x).

aksiteray commented 2 years ago

Thank you very much! It solved the bug issue. Yet, I am still having further issues, when I run the code. It stalls at running tesselations. It remains there more than 20 minutes, and I am finally forced to stop it with CTRL+Z. But it does not proceed any further than that, please see shared image. Any further recommendations or insights that you can share? image

rquey commented 2 years ago

Please try with the latest version, 4.2.1-27. If it does not work, please follow these instructions to report your bug.

aksiteray commented 2 years ago

Hello Romain Quey, thank you for your recommendation. I have been trying to find the NEPER 4.2.1-27 upgrade location, but I was not able to locate it. When I go to https://github.com/rquey/neper/releases I only find version 4.2.0, marked as the latest version. Can you guide me how to upgrade into version 4.2.1-27?

CsatiZoltan commented 2 years ago

@aksiteray Hi. That's the latest development version, as you can see in the VERSIONS file. You can download the latest version from the main branch, direct link here.

aksiteray commented 2 years ago

Thank you @CsatiZoltan , I have followed the link to download the file. I will try the new version as @rquey recommended tomorrow. I appreciate both of your help and assistance.

aksiteray commented 2 years ago

@rquey @CsatiZoltan Please note that it works now new version fixed the issue!!! Thank you very much for your help on this bug!

CsatiZoltan commented 2 years ago

@aksiteray Good! If your problem is solved, you can close this issue.