Snapshot optimized solver and audit diagnostics before numerical experiments
This commit is contained in:
@@ -601,6 +601,15 @@ TEST_CASE(
|
||||
CHECK(preparedOperator.IsPrepared());
|
||||
CHECK(preparedOperator.GetResidualPreparationCount() == 2);
|
||||
CHECK(preparedOperator.GetResidualApplicationCount() == 1);
|
||||
mfem::Vector updatedResidual, referenceResidual;
|
||||
preparedOperator.BuildResidual(updatedResidual);
|
||||
CHECK(preparedOperator.PrepareReference().DidAnyWork());
|
||||
preparedOperator.BuildResidual(referenceResidual);
|
||||
CHECK(gravity_displacement_force_test_utils::relative_difference(
|
||||
updatedResidual, referenceResidual, f.mesh->GetComm()) < 2.0e-12);
|
||||
CHECK_FALSE(preparedOperator.PrepareReference().DidAnyWork());
|
||||
CHECK(preparedOperator.Prepare().DidAnyWork());
|
||||
CHECK_FALSE(preparedOperator.Prepare().DidAnyWork());
|
||||
}
|
||||
|
||||
TEST_CASE(
|
||||
@@ -665,6 +674,19 @@ TEST_CASE(
|
||||
densityDirectionReduced, displacementDirectionReduced, gravityGradientDirectionReduced, completeAction
|
||||
);
|
||||
|
||||
mfem::Vector retainedAction;
|
||||
preparedOperator.ApplyCompleteJacobianActionReference(
|
||||
densityDirectionReduced, displacementDirectionReduced, gravityGradientDirectionReduced, retainedAction);
|
||||
CHECK(preparedOperator.GetFastElementCount() > 0);
|
||||
CHECK(preparedOperator.GetTensorElementCount() == preparedOperator.GetFastElementCount());
|
||||
CHECK(gravity_displacement_force_test_utils::relative_difference(
|
||||
completeAction, retainedAction, f.mesh->GetComm()) < 2.0e-12);
|
||||
|
||||
preparedOperator.ApplyCompleteJacobianActionCachedReference(
|
||||
densityDirectionReduced, displacementDirectionReduced, gravityGradientDirectionReduced, retainedAction);
|
||||
CHECK(gravity_displacement_force_test_utils::relative_difference(
|
||||
completeAction, retainedAction, f.mesh->GetComm()) < 2.0e-12);
|
||||
|
||||
mfem::Vector summedColumns(densityAction);
|
||||
summedColumns += gravityAction;
|
||||
summedColumns += displacementAction;
|
||||
|
||||
Reference in New Issue
Block a user