lens problem: some small performance improvements

the changes enable the storage cache and the intensive quantity cache
for all simulators of the lens problem and automatic differentiation
for the one which uses the ECFV discretization.

while the performance improvements are not worthwhile for the problem
in its default incarnation (using automatic diffentiation even
slightly degrades performance), it speeds up linearization by about
30% if the grid exhibits 16 times as many elements (e.g. by passing
the --grid-global-refinements=2) parameter.
This commit is contained in:
Andreas Lauser 2016-01-23 20:35:20 +01:00
parent fd387777b5
commit a128d49a6d
2 changed files with 11 additions and 0 deletions

View File

@ -143,6 +143,12 @@ SET_SCALAR_PROP(LensBaseProblem, InitialTimeStepSize, 250);
// By default, include the intrinsic permeability tensor to the VTK output files
SET_BOOL_PROP(LensBaseProblem, VtkWriteIntrinsicPermeabilities, true);
// enable the storage cache by default for this problem
SET_BOOL_PROP(LensBaseProblem, EnableStorageCache, true);
// enable the cache for intensive quantities by default for this problem
SET_BOOL_PROP(LensBaseProblem, EnableIntensiveQuantityCache, true);
} // namespace Properties
/*!

View File

@ -34,7 +34,12 @@
namespace Ewoms {
namespace Properties {
NEW_TYPE_TAG(LensProblemEcfv, INHERITS_FROM(ImmiscibleTwoPhaseModel, LensBaseProblem));
// use the element centered finite volume spatial discretization
SET_TAG_PROP(LensProblemEcfv, SpatialDiscretizationSplice, EcfvDiscretization);
// use automatic differentiation for this simulator
SET_TAG_PROP(LensProblemEcfv, LocalLinearizerSplice, AutoDiffLocalLinearizer);
}}
int main(int argc, char **argv)