idaholab/moose — pull request #3866 by friedmud (2014-09-10 04:21:55+00:00)
Title: Initial attempt at computing individual block matrices simultaneously

@YaqiWang This is it. This is what you've been waiting for. You can now compute as many individual Jacobian blocks as you like with _one_ sweep through the mesh.... instead of one _per variable_! The more variables you have the bigger the difference is...

Here's timing for the test I checked in (has 1000 variables)...

Before:
```
compute_jacobian_block() 2000 250.6622 0.125331 250.6622 0.125331 99.03 99.03
```

After:
```
compute_jacobian_block() 2 3.8598 1.929902 3.8598 1.929902 61.58 61.58
```
Nearly 100x faster.... and that's just with 1000 variables. The savings will be huge at 10k+ vars...

I'm marking this as under development for right now because I haven't tested with the Herd yet and I suspect there will be some issues with Rattlesnake...

Refs #3024 #3783