Skip to content

Add support for specialization on discretize #16

@Qfl3x

Description

@Qfl3x

If it's already implemented, please let me know. But looking at

function SciMLBase.discretize(pdesys::PDESystem,
discretization::AbstractEquationSystemDiscretization;
analytic = nothing, kwargs...)
sys, tspan = SciMLBase.symbolic_discretize(pdesys, discretization)
try
simpsys = structural_simplify(sys)
if tspan === nothing
add_metadata!(get_metadata(sys), sys)
return prob = NonlinearProblem(simpsys, ones(length(simpsys.states));
discretization.kwargs..., kwargs...)
else
# Use ODAE if nessesary
if hasfield(typeof(sys.metadata), :use_ODAE) && sys.metadata.use_ODAE
add_metadata!(get_metadata(simpsys),
DAEProblem(simpsys; discretization.kwargs..., kwargs...))
return prob = ODAEProblem(simpsys, Pair[], tspan; discretization.kwargs...,
kwargs...)
else
add_metadata!(get_metadata(simpsys), sys)
prob = ODEProblem(simpsys, Pair[], tspan; discretization.kwargs...,
kwargs...)
if analytic === nothing
return prob
else
f = ODEFunction(pdesys, discretization, analytic = analytic,
discretization.kwargs..., kwargs...)
return ODEProblem(f, prob.u0, prob.tspan, prob.p;
discretization.kwargs..., kwargs...)
end
end
end
catch e
error_analysis(sys, e)
end
end
it doesn't appear to be implemented currently.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions