Topic: Problem with hpc weights

Hello all

I want to change the way of indirect displacement control after a few steps.  Was this not possible in earlier versions?
My input lines are shown here:

NonLinearStatic nmsteps 2 nsteps 1 contextOutputStep 1000 nmodules 1
nsteps 20 rtolv 5.e-3 reqIterations 1000 stiffMode 1 maxiter 1000 controllmode 0. stepLength 5.e-7 minsteplength 1.e-10 Psi 0. hpcmode 2 hpc 4 519 3 528 3 hpcw 2 -1. 1. donotfixload
nsteps 180 rtolv 5.e-3 reqIterations 1000 stiffMode 1 maxiter 1000 controllmode 0. stepLength 1.e-5 minsteplength 1.e-10 Psi 0. hpcmode 2 hpc 2 366 1 hpcw 1 1. donotfixload

I get this error message after the first meta step is completed:
Error: (/oofem/src/oofemlib/calmls.C:1042)
Class: CylindricalALM, number: 1
HPC map size and weight array size mismatch
Class: CylindricalALM, number: 1

Has anybody an idea what the problem is?
Or this not possible in oofem?
If I ran either of the two lines on their own, it works.

Peter

2

Re: Problem with hpc weights

Hi Peter,

looks like a bug, but simple to fix. Could you try the following:
1) open src/oofemlib/calmls.C file, locate line 1032, should look like this:

        } else if ( nsize != calm_HPCWeights.giveSize() ) {

2) replace it by following code:

        } else if ( nsize != calm_HPCDmanWeightSrcArray.giveSize() ) {

3) let me know if it works, so I can fix it in repository.

Borek