Skip to content

Commit

Permalink
fix more unitful errors, change in to ∈ in split_model.jl
Browse files Browse the repository at this point in the history
  • Loading branch information
longemen3000 committed Oct 21, 2021
1 parent 1ed688c commit 103a847
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 18 deletions.
4 changes: 2 additions & 2 deletions src/methods/unitful_methods.jl
Original file line number Diff line number Diff line change
Expand Up @@ -59,14 +59,14 @@ end
function compressibility_factor(model::EoSModel, v::__VolumeKind, T::Unitful.Temperature, z=SA[1.])
st = standarize(model,v,T,z)
_v,_T,_z = state_to_vt(model,st)
res = vt_joule_thomson_coefficient(model, _v, _T,_z)
res = VT_compressibility_factor(model, _v, _T,_z)
return res
end

function compressibility_factor(model::EoSModel, p::Unitful.Pressure, T::Unitful.Temperature, z=SA[1.]; phase="unknown")
st = standarize(model,p,T,z)
_p,_T,_z = state_to_pt(model,st)
res = joule_thomson_coefficient(model, _p, _T, _z; phase=phase)
res = compressibility_factor(model, _p, _T, _z; phase=phase)
return res
end

Expand Down
32 changes: 16 additions & 16 deletions src/utils/split_model.jl
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ function split_model(param::SingleParam{T},
param.sources
)
end
return [generator(i) for i in splitter]
return [generator(i) for i splitter]
end

function split_model(param::ClapeyronParam,groups::GroupParam)
Expand All @@ -66,11 +66,11 @@ function split_model(param::PairParam{T},
param.sources
)
end
return [generator(I) for I in splitter]
return [generator(I) for I splitter]
end

function split_model(param::AbstractVector,splitter = ([i] for i in 1:length(param)))
return [param[i] for i in splitter]
function split_model(param::AbstractVector,splitter = ([i] for i 1:length(param)))
return [param[i] for i splitter]
end

function _split_model(assoc::CompressedAssocMatrix{T},I) where T
Expand Down Expand Up @@ -110,7 +110,7 @@ function split_model(param::AssocParam{T},
param.sources
)
end
return [generator(I) for I in splitter]
return [generator(I) for I splitter]
end

#this param has a defined split form
Expand All @@ -127,7 +127,7 @@ function split_model(groups::GroupParam)
1:length(groups.n_groups[i]),
groups.sourcecsvs)
end
[generator(i) for i in 1:len]
[generator(i) for i 1:len]
end

function split_model(param::SiteParam,
Expand All @@ -137,18 +137,18 @@ function split_model(param::SiteParam,
param.components[I],
param.sites[I],
param.n_sites[I],
param.i_sites[I],
param.i_sites[I],
param.flattenedsites,
param.n_flattenedsites[I],
1:length(param.flattenedsites),
param.sourcecsvs)
end
return [generator(i) for i in splitter]
return [generator(i) for i splitter]
end

function split_model(Base.@nospecialize(params::EoSParam),splitter)
T = typeof(params)
split_paramsvals = [split_model(getfield(params,i),splitter) for i in fieldnames(T)]
split_paramsvals = [split_model(getfield(params,i),splitter) for i fieldnames(T)]
return T.(split_paramsvals...)
end

Expand Down Expand Up @@ -191,12 +191,12 @@ function auto_split_model(Base.@nospecialize(model::EoSModel),subset=nothing)
end

if hasfield(typeof(model),:icomponents)
allfields[:icomponents] = [1:length(splitter[i]) for i in 1:len_comps]
allfields[:icomponents] = [1:length(splitter[i]) for i 1:len_comps]
end

#process all model fields
modelfields = filter(x->getproperty(model,x) isa EoSModel,fieldnames(M))
for modelkey in modelfields
for modelkey modelfields
modelx = getproperty(model,modelkey)
if is_splittable(modelx)
allfields[modelkey]= split_model(modelx,subset)
Expand All @@ -206,21 +206,21 @@ function auto_split_model(Base.@nospecialize(model::EoSModel),subset=nothing)
end

modelfields = filter(x->getproperty(model,x) isa Vector{<:EoSModel},fieldnames(M))
for modelkey in modelfields
for modelkey modelfields
modelx = getproperty(model,modelkey)
allfields[modelkey] = [[tup] for tup in modelx]
allfields[modelkey] = [[tup] for tup modelx]
end

only_paramfields = filter(x->getproperty(model,x) isa Union{SingleParam,PairParam,AssocParam},fieldnames(M))
for paramkey in only_paramfields
for paramkey only_paramfields
modelx = getproperty(model,paramkey)
allfields[paramkey] = split_model(modelx,splitter)
end

#process all empty (Missing,Nothing) fields
emptyfields = filter(x->getproperty(model,x) isa Union{Nothing,Missing},fieldnames(M))

for emptykey in emptyfields
for emptykey emptyfields
allfields[emptykey] = fill(model.emptykey,len_comps)
end

Expand All @@ -240,7 +240,7 @@ function auto_split_model(Base.@nospecialize(model::EoSModel),subset=nothing)
end


return [M((allfields[k][i] for k in fieldnames(M))...) for i in 1:len]
return [M((allfields[k][i] for k fieldnames(M))...) for i 1:len]
catch e
@error "$M cannot be splitted"
rethrow(e)
Expand Down

0 comments on commit 103a847

Please sign in to comment.