Hi Alex,
Did you get a chance to take a look at the material I sent over?
I have a question regarding load ramping while doing a nonlinear iteration. I've written a loop which increments a scaling variable however while invoking the solve function, it doesn't seem to update this. To give a gist of the code structure ->
1. Create formulation "elasticity" and add mass, stiffness and damping contributions using += integral(...)
2. Define the load contribution as : elasticity += integral(domain, 3, array1x3(0,0, scale*(load))*tf(u.harmonic(2))) (initial value of scale is 0)
3. Create nested loop as follows :
a. Outermost loop -> Change the frequency using setfundamentalfrequency()
b. Middle loop -> Change the load by updating the value of scale (for e.g. 0.1, 0.2, 0.3 ... 1.0)
c. Innermost loop -> perform nonlinear iteration where solve(elasticity) is invoked, field u is updated accordingly
The idea is to solve for multiple loads in the same simulation (thus reducing overall number of nonlinear iterations)
Now what happens is the middle loop doesn't do what it's supposed to as it's still solving for the initial definition of scale, i.e. when scale is 0.0 and hence the load contribution is 0. I checked the solve function which invokes the generation function so my understanding is everytime generate function is called, it will create the formulation with updated contributions. Is that correct or am I missing something?
Cheers,
Sami