diff --git a/VERSION b/VERSION index 002deaea7..9d16c2ea2 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-594-g46e5023f8 +v3.0.0-alpha-609-g657d7b06b diff --git a/env/CONFIG b/env/CONFIG index 380197583..5d92af7fa 100644 --- a/env/CONFIG +++ b/env/CONFIG @@ -2,4 +2,4 @@ set DAMASK_NUM_THREADS = 4 set MSC_ROOT = /opt/msc -set MARC_VERSION = 2019.1 +set MSC_VERSION = 2019.1 diff --git a/installation/mods_MarcMentat/apply_DAMASK_modifications.py b/installation/mods_MarcMentat/apply_DAMASK_modifications.py index 38a6078b3..51f5e2312 100755 --- a/installation/mods_MarcMentat/apply_DAMASK_modifications.py +++ b/installation/mods_MarcMentat/apply_DAMASK_modifications.py @@ -7,7 +7,7 @@ from pathlib import Path import damask -marc_version = float(damask.environment.options['MARC_VERSION']) +marc_version = float(damask.environment.options['MSC_VERSION']) if int(marc_version) == marc_version: marc_version = int(marc_version) msc_root = Path(damask.environment.options['MSC_ROOT']) @@ -15,7 +15,7 @@ damask_root = damask.environment.root_dir parser = argparse.ArgumentParser( description='Apply DAMASK modification to MSC.Marc/Mentat', - epilog = f'MSC_ROOT={msc_root} and MARC_VERSION={marc_version} (from {damask_root}/env/CONFIG)') + epilog = f'MSC_ROOT={msc_root} and MSC_VERSION={marc_version} (from {damask_root}/env/CONFIG)') parser.add_argument('--editor', dest='editor', metavar='string', default='vi', help='Name of the editor for MSC.Mentat (executable)') @@ -23,7 +23,7 @@ parser.add_argument('--editor', dest='editor', metavar='string', default='vi', def copy_and_replace(in_file,dst): with open(in_file) as f: content = f.read() - content = content.replace('%INSTALLDIR%',msc_root) + content = content.replace('%INSTALLDIR%',str(msc_root)) content = content.replace('%VERSION%',str(marc_version)) content = content.replace('%EDITOR%', parser.parse_args().editor) with open(dst/Path(in_file).name,'w') as f: diff --git a/python/damask/_environment.py b/python/damask/_environment.py index d4b7abe51..9983a91aa 100644 --- a/python/damask/_environment.py +++ b/python/damask/_environment.py @@ -32,7 +32,7 @@ class Environment: options = {} for item in ['DAMASK_NUM_THREADS', 'MSC_ROOT', - 'MARC_VERSION', + 'MSC_VERSION', ]: options[item] = os.environ[item] if item in os.environ else None diff --git a/python/damask/solver/_marc.py b/python/damask/solver/_marc.py index 12e36f7ed..e37a46488 100644 --- a/python/damask/solver/_marc.py +++ b/python/damask/solver/_marc.py @@ -8,7 +8,7 @@ from .. import environment class Marc: """Wrapper to run DAMASK with MSCMarc.""" - def __init__(self,version=environment.options['MARC_VERSION']): + def __init__(self,version=environment.options['MSC_VERSION']): """ Create a Marc solver object. diff --git a/src/crystallite.f90 b/src/crystallite.f90 index 0366d3586..c9ef97e32 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -315,7 +315,6 @@ function crystallite_stress() c, & !< counter in integration point component loop i, & !< counter in integration point loop e, & !< counter in element loop - startIP, endIP, & s logical, dimension(homogenization_maxNconstituents,discretization_nIPs,discretization_Nelems) :: todo !ToDo: need to set some values to false for different Ngrains real(pReal), dimension(:,:,:,:,:), allocatable :: & @@ -356,17 +355,8 @@ function crystallite_stress() enddo elementLooping1 !$OMP END PARALLEL DO - singleRun: if (FEsolving_execELem(1) == FEsolving_execElem(2) .and. & - FEsolving_execIP (1) == FEsolving_execIP (2)) then - startIP = FEsolving_execIP(1) - endIP = startIP - else singleRun - startIP = 1 - endIP = discretization_nIPs - endif singleRun - NiterationCrystallite = 0 - cutbackLooping: do while (any(todo(:,startIP:endIP,FEsolving_execELem(1):FEsolving_execElem(2)))) + cutbackLooping: do while (any(todo(:,FEsolving_execIP(1):FEsolving_execIP(2),FEsolving_execELem(1):FEsolving_execElem(2)))) NiterationCrystallite = NiterationCrystallite + 1 #ifdef DEBUG @@ -428,9 +418,9 @@ function crystallite_stress() crystallite_subF(1:3,1:3,c,i,e) = crystallite_subF0(1:3,1:3,c,i,e) & + crystallite_subStep(c,i,e) *( crystallite_partitionedF (1:3,1:3,c,i,e) & -crystallite_partitionedF0(1:3,1:3,c,i,e)) - crystallite_Fe(1:3,1:3,c,i,e) = matmul(matmul(crystallite_subF(1:3,1:3,c,i,e), & - math_inv33(crystallite_Fp(1:3,1:3,c,i,e))), & - math_inv33(crystallite_Fi(1:3,1:3,c,i,e))) + crystallite_Fe(1:3,1:3,c,i,e) = matmul(crystallite_subF(1:3,1:3,c,i,e), & + math_inv33(matmul(crystallite_Fi(1:3,1:3,c,i,e), & + crystallite_Fp(1:3,1:3,c,i,e)))) crystallite_subdt(c,i,e) = crystallite_subStep(c,i,e) * crystallite_dt(c,i,e) crystallite_converged(c,i,e) = .false. call integrateState(c,i,e)