i think the savematerials procedure from the savedata.src is not working correct if a certain parameter value doesnt exist in every partition.
So when you have a paramter A and there is a partition that doesnt find this in any of its elements it believes that this doesnt exist at all.
ANd this causes a segfault.
i cheked the source code and i think the passage where j is checked could be the problem.
Code: Select all
IF( j == 0 ) THEN
CALL Warn('SaveMaterials',&
'Parameter '//TRIM(ParamName(ParamNo))//' not present in any material')
ELSE
WRITE( Message,'(A,I0,A)') 'Parameter > '//TRIM(ParamName(ParamNo))&
//' < defined with ',j,' dofs'
CALL Info('SaveMaterials',Message)
ALLOCATE(Field(j),STAT=istat)
IF( istat /= 0 ) CALL Fatal('SaveMaterials','Memory allocation error 3')
Field = 0.0_dp
CALL VariableAdd( Mesh % Variables, Mesh, PointerToSolver, &
TRIM(ParamName(ParamNo)), 1, Field, FieldPerm )
ParamsExist = .TRUE.
NULLIFY( Field )
END IF
Could tthat cause a problem?
i am really not so sure about all this,
very curios though,
best regards
Fanz