MEDYAN.Context

Union{}

Context(sys_def::SysDef, grid::CubicGrid; kwargs...)
  • agent_names::MEDYAN.AgentNames

  • sys_def::MEDYAN.SysDef

  • compartments::Vector{MEDYAN.Compartment}

  • grid::MEDYAN.CubicGrid

  • time::Float64: time (s)

  • stats::MEDYAN.PerformanceStats

  • β::Float64: inverse kT (1/(nm*pN))

  • base_diffusion_coeffs::Vector{Float64}: Diffusion coefficients indexed by diffusing species id (nm²/s)

  • membrane_species_params::StaticArraysCore.SVector{NUM_MEMBRANEDIFFUSINGSPECIES, MEDYAN.MembraneSpeciesParams} where NUM_MEMBRANEDIFFUSINGSPECIES: Membrane species parameters indexed by membrane diffusing species id.

  • min_chem_voxel_volume_ratio::Float64: Smallest volume a chem voxel can have before being deactivated as a ratio to a full chem voxel volume.

  • chemistryengine::MEDYAN.RDMESampler: The reaction diffusion master equation sampler, contains the diffusing and regular fixed species state

  • chem_voxel_volumes::Array{Float64, 3}: Volume of each chemical voxel

  • chem_voxel_areas::Array{Float64, 4}: Areas of (-x, -y, -z) faces of each chemical voxel

  • chem_cylinders::Vector{MEDYAN.ChemCylinders}: Data about filament cylinders, indexed by filament type id

  • balls::StructArrays.StructVector{MEDYAN.Ball, @NamedTuple{position::Vector{StaticArraysCore.SVector{3, Float64}}, radius::Vector{Float32}, stiffness::Vector{Float32}, state::Vector{StaticArraysCore.SVector{3, Int64}}}, Int64}

  • membranes::Vector: All membrane meshes.

  • next_membid::Ref{MEDYAN.MembId}: Next memb id

  • membid2membidx::Dict{MEDYAN.MembId, UInt32}: map from memb id to index memb indexes can change whenever a memb is removed, but id’s are stable

  • membidx2membid::Vector{MEDYAN.MembId}: map from memb index to id

  • link_manager::MEDYAN.LinkManager

  • decimated_2mon_site_managers::Vector{MEDYAN.AbstractDecimated2MonSiteManager}: Site managers, indexed by site id

  • filamentsites::Tuple{Vararg{Tuple{Vararg{MEDYAN.SiteData}}}}: The filament site definitions, indexed by filament type id, filament site id to get a SiteData with fields of id, site, fxsid

  • filamentendsites::Tuple{Vararg{Tuple{Vararg{MEDYAN.SiteData}}}}: The filamentend site definitions, indexed by filament type id, filamentend site id to get a SiteData with fields of id, site, fxsid

  • maxfilsite_plusrange::Vector{Int64}: The maximum plus range in monomers that any filament site or end site can see. Indexed by filament type id

  • maxfilsite_minusrange::Vector{Int64}: The maximum minus range in monomers that any filament site or end site can see. Indexed by filament type id

  • membranesites::Tuple{Vararg{MEDYAN.SiteData}}: Maps membrane site id to a SiteData with fields of id, site, fxsid.

  • map_membranediffusingspeciesindex_membranesiteindices::Tuple{Vararg{Vector{Int64}}}: Maps membrane diffusing species index to a list of membrane sites using this species as reactant. This is initialized during context init and should not be changed.

  • decimated_2mon_sites::Vector{MEDYAN.SiteData}: Site definitions, indexed by site id to get a SiteData with fields of id, site, fxsid

  • possiblecadherinsite_managers::Tuple{Vararg{MEDYAN.AbstractPossibleCadherinSiteManager}}: Site managers, indexed by site id

  • check_sitecount_error::Bool: If true site counts are checked for errors on every chem update. This is extremely slow, but useful for testing chem update errors.

  • compartmentreactioncallbacks::Any

  • bulkreactioncallbacks::Any

  • memdiff_bulks_index::Int64: Mock bulk species index for membrane diffusion.

  • viscosity::Float64: viscosity (pNs/nm² or MPas) water is about 1E-9

  • g_tol::Float64: maximum force magnitude after minimization (pN)

  • nforce_fractbit::Int64: number of fractional bits used to scale force values into Int64

  • nenergy_fractbit::Int64: number of fractional bits used to scale energy values into Int64

  • shake_before_minimization::Float64: Standard deviation of noise added to coordinates before starting minimization.

  • iter_max_cg_minimization::Int64: Max number of steps in conjugate gradient minimization.

  • maxstep::Float64: max step to take during line search (nm)

  • check_neighborlist_error::Bool: If true neighborlists are checked for errors on every force calc. This is extremely slow, but useful for testing neighborlist errors.

  • nthreads::Int64: Experimental Set to more than 1 to enable multi threading. This is currently may result in non bitwise reproducable simulations. Results should be statistcally identical, but this is currently not well tested.

  • enable_collision::Ref{Bool}: Are collision forces calculated

  • collision_skin::Float64: Extra collision neighbor list cutoff radius in nm. The neighbor lists are reset after something moves over this amount

  • collision_switchover_scale_unitless::Float32: Smoothing scale to avoid sharp forces when two cylinders are collinear

  • filamentmechparams::Vector{MEDYAN.FilamentMechParams}: The filament mechanical parameters, indexed by filament type id

  • func_membranespeciespotentialenergy::Any: Membrane species potential energy function. See docs on default function for more info.

  • external_energy_forces!::Any: External energy/force expressions. This should be a mutating function taking a (fc::MEDYAN.ForceContext, vectorized_x), which adds to fc.forces, fc.energies, and fc.energy. The energy and force must be consistent, and this is not checked. This can be used as ad-hoc solutions to experiment with uncommon forces, such as specifically designed attachments, etc. If this variable is used often, consider moving it into MEDYAN.

  • chemboundary::MEDYAN.Boundary: chemical boundary, updates compartment volumes and diffusion rates

  • chem_boundary_oversampling_factor::Int64: Oversampling factor for chem boundary TSDF computation. Default is 4.

  • chem_boundary_tsdf_max_distance::Float64: Maximum distance for TSDF truncation (nm). Actual max is max(this, 2.5*grid_spacing). Default is 312.5 nm.

  • chem_boundary_tsdf_cache::Union{Nothing, Array{Float64, 3}}: Cached truncated signed distance field for chem boundary. nothing means cache is invalid.

  • mechboundary::MEDYAN.Boundary: mechanical boundary

  • sharedtypedconfigs::MEDYAN.SharedTypedConfigs: Shared configurations stored in type parameters.

  • validflags::MEDYAN.ValidFlags: Interval system consistency validation flags.

  • profiler::ZoneProfilers.Profiler