Closed aeslaughter closed 1 year ago
@friedmud FYI, this is the issue I started for training revisions.
@lindsayad Should ADMaterial have "_ad_q_point" if you are wanting to propagate derivatives through to properties that are evaluated from a spatially varying function?
In one of the steps we have the following:
template <ComputeStage compute_stage>
void
PackedColumn<compute_stage>::computeQpProperties()
{
Real value = _radius.value(_t, _q_point[_qp]); # _radius is a Function
_permeability[_qp] = _ad_permeability_interpolation.sample(value); #
}
It seems like the function should accept the _ad_q_point[_qp] so the derivative is correct going into the ADLinearInterpolation object.
This of course requires that Function be able to accept an ADReal.
ADFunctions are not quite there yet and there is a libmesh issue for ad qpoints that needs to be resolved if I recall correctly.
Thanks, I will just use _q_point for now, with upgrading later in mind.
Yea as @dschwen said we can't feed a DualNumber
into a function yet...
Reason
Over the years the MOOSE tutorial has gained several part a, part b stuff. It is would be better for the flow to create new steps instead of sub-dividing.
There also needs to be a descriptive version on the main website; the slides are not intended to be followed outside of our live workshops.
Also, there are some more general improvements with respect to the language used.
Design
New (old) steps for tutorial
FEM, Shape Functions, Solver...
We need to break up these sections, dumping them all on the user at the same time is too much. It should be possible to sprinkle them in through the sections as we go, but we need to talk about how and where they fit in.
Other Improvements
Impact
This will add an improved training experience.