tardis.workflows.v_inner_solver module¶
- class tardis.workflows.v_inner_solver.InnerVelocitySimulationSolver(configuration, mean_optical_depth='rossland', tau=None)[source]¶
Bases:
SimpleSimulation
- TAU_TARGET = -0.40546510810816444¶
- check_convergence(estimated_values)[source]¶
Check convergence status for a dict of estimated values
- Parameters:
- estimated_valuesdict
Estimates to check convergence
- Returns:
- bool
If convergence has occurred
- estimate_v_inner()[source]¶
Compute the Rossland Mean Optical Depth, Estimate location where v_inner makes t=2/3 (or target) Extrapolate with exponential fits
Need some way to return and inspect the optical depths for later logging
- get_convergence_estimates(transport_state)[source]¶
Compute convergence estimates from the transport state
- Parameters:
- transport_stateMonteCarloTransportState
Transport state object to compute estimates
- Returns:
- dict
Convergence estimates
- EstimatedRadiationFieldProperties
Dilute radiation file and j_blues dataclass
- property property_mask¶
- reproject(a1, m1, a2, m2)[source]¶
Reprojects two sub_arrays defined by a set of masks onto an array where the masks of both objects are true
- let A1, A2 be arrays of size gemetry.no_of_shells and
a1 = A1[m1], a2 = A2[m2]
- find a1*, a2* s.t.
a1* = A1[m1 & m2], a2* = A2[m1 & m2]
- this is equivalent to
a1* = A1[m1][m2[m1]] = a1[m2[m1]], a2* = A2[m2][m1[m2]] = a2[m1[m2]]
- Parameters:
- a1np.ndarray
A sub array of an array with the shape of a geometry property
- m1np.ndarray(bool)
Mask such that the parrent array accessed at this mask gives a1
- a2np.ndarray
A sub array of an array with the shape of a geometry property
- m2np.ndarray(bool)
Mask such that the parrent array accessed at this mask gives a2
- Returns:
- a1*
reprojection of a1 onto m1 & m2
- a2*
reprojection of a2 onto m1 & m2
- solve_plasma(estimated_radfield_properties, mask)[source]¶
Update the plasma solution with the new radiation field estimates
- Parameters:
- estimated_radfield_propertiesEstimatedRadiationFieldProperties
The radiation field properties to use for updating the plasma
- radiation_field: tardis.plasma.radiation_field.RadiationField
Current radiation field object from the last iteration
- Raises:
- ValueError
If the plasma solver radiative rates type is unknown