jax_sn.operators.single_group_operator.composed_single_group_strategies module¶
- class ComposedSingleGroupTransportBase(transport_strategy: MultiAngleForwardStrategy, transport_inversion_strategy: MultiAngleInversionStrategy, moment_strategy: FluxMomentStrategy, mass_strategy: MassStrategy)[source]¶
Bases:
TransposableStrategy,RequiresNonDifferentiableDataShared base for all composed single-group operators. All variants use transport, moment, and mass.
- transport_strategy: MultiAngleForwardStrategy¶
- transport_inversion_strategy: MultiAngleInversionStrategy¶
- moment_strategy: FluxMomentStrategy¶
- mass_strategy: MassStrategy¶
- accepts(non_differentiable_data: NonDifferentiableData)[source]¶
Whether it can accept this non-differentiable data.
- Return type:
bool
- class ComposedSingleGroupSourceStrategy(transport_strategy: MultiAngleForwardStrategy, transport_inversion_strategy: MultiAngleInversionStrategy, moment_strategy: FluxMomentStrategy, mass_strategy: MassStrategy)[source]¶
Bases:
ComposedSingleGroupTransportBase,SingleGroupSourceStrategyThe source operator \(\mathbf{M}\mathbf{T}_g^{-1}\mathbf{H}\) – no discrete or scatter operator needed.
- all_operators(single_group_data: SingleGroupData)[source]¶
- Return type:
Tuple[TransportOperatorMultiAngle,MomentOperator,MassOperator]
- forward(data: SingleGroupData, x)[source]¶
- transpose(data: SingleGroupData, x)[source]¶
- class ComposedSingleGroupChainStrategy(transport_strategy: MultiAngleForwardStrategy, transport_inversion_strategy: MultiAngleInversionStrategy, moment_strategy: FluxMomentStrategy, mass_strategy: MassStrategy, discrete_strategy: FluxMomentStrategy)[source]¶
Bases:
ComposedSingleGroupTransportBase,SingleGroupChainStrategyThe chain operator \(\mathbf{M}\mathbf{T}_g^{-1}\mathbf{H}\mathbf{D}\) – no scatter operator needed.
- discrete_strategy: FluxMomentStrategy¶
- all_operators(single_group_data: SingleGroupData)[source]¶
- Return type:
Tuple[TransportOperatorMultiAngle,MomentOperator,DiscreteOperator,MassOperator]
- forward(data: SingleGroupData, x)[source]¶
- transpose(data: SingleGroupData, x)[source]¶
- class ComposedSingleGroupStrategy(transport_strategy: MultiAngleForwardStrategy, transport_inversion_strategy: MultiAngleInversionStrategy, moment_strategy: FluxMomentStrategy, mass_strategy: MassStrategy, discrete_strategy: FluxMomentStrategy, scatter_strategy: ScatterStrategy)[source]¶
Bases:
ComposedSingleGroupTransportBase,SingleGroupStrategyThe full \(\mathbf{I} - \mathbf{M}\mathbf{T}_g^{-1}\mathbf{H}\mathbf{D}\mathbf{S}_{gg}\) operator.
- discrete_strategy: FluxMomentStrategy¶
- scatter_strategy: ScatterStrategy¶
- all_operators(single_group_data: SingleGroupData)[source]¶
Construct the entire chain of operators. This is a free construction in any case (after JIT): just assigning a type.
- Return type:
Tuple[TransportOperatorMultiAngle,MomentOperator,DiscreteOperator,MassOperator,ScatterOperator]
- forward(data: SingleGroupData, x)[source]¶
- transpose(data: SingleGroupData, x)[source]¶