MEDYAN.Context

Union{}

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

  • sys_def::MEDYAN.SysDef

  • compartments::Vector{MEDYAN.Compartment}

  • grid::Any

  • time::Ref{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_compartment_volume_ratio::Float64: Smallest volume a compartment can have before being deactivated as a ratio to a full compartment volume.

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

  • largestfilamentid::Vector{Int64}: The largest filament id, indexed by filament type id

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

  • membranes::Vector: All membrane meshes.

  • link_manager::MEDYAN.LinkManager

  • link_2mon_data::Tuple{Vararg{MEDYAN.Link2MonData}}: The linked link2mon parameters, indexed by link2mon type id, to give a Link2MonData

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

  • linked_monomers::Dictionaries.Dictionary{MEDYAN.MonomerName, Vector{Vector{Int64}}}: Dictionary of all monomers that have a bound link2mon. indexed by monomer name, then link2montypeid, to give a vector of unique link2mon ids that reference the monomer name

  • 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.

  • link_2mon_sites::Tuple{Vararg{Tuple{Vararg{MEDYAN.SiteData}}}}: Site definitions, indexed by link_2mon type id, site id to get a SiteData with fields of id, site, fxsid

  • mon_link_2mon_sites::Tuple{Vararg{Tuple{Vararg{MEDYAN.SiteData}}}}: Site definitions, indexed by link_2mon type id, site id to get a SiteData with fields of id, site, fxsid

  • chem_max_search_dist::Float64

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

  • cadherinsites::Tuple{Vararg{Tuple{Vararg{MEDYAN.SiteData}}}}

  • cadherindata::Tuple{Vararg{MEDYAN.CadherinData}}

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

  • cadherinlinked_vertices::Dictionaries.Dictionary{MEDYAN.VertexName, Vector{Vector{Pair{MEDYAN.VertexName, MEDYAN.MonomerName}}}}: Dictionary of all vertices that have a bound cadherin. indexed by vertex name, then cadherintypeid, to give a vector of unique cadherin endnames that reference the monomer name and vertex name

  • 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)

  • shake_before_minimization::Bool: If true, add noise 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)

  • max_cylinder_force::Float64: max cylinder force when two cylinders are at zero distance (pN)

  • 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_cylinder_volume_exclusion::Ref{Bool}: Are cylinder volume exclusion forces calculated

  • enable_triangle_bead_volume_exclusion::Bool: Are triangle-bead volume exclusion forces calculated.

  • cylinder_skin_radius::Float64: Extra cell list cutoff radius in nm. The cell lists are reset after a bead moves over this amount

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

  • membranemechparams::Vector{MEDYAN.MembraneMechParams}: Membrane mechanical parameters, indexed by membrane type id.

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

  • membranefilamentmechparams::MEDYAN.MembraneFilamentMechParams: Membrane-filament mechanical interaction parameters.

  • external_energy_forces!::Any: External energy/force expressions. This should be a mutating function taking a (fc::MEDYAN.ForceContext), 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

  • meshindex_as_chemboundary::Ref{Int64}: The membrane index used as chemical boundary. If values other than 0 is used, the actual interior region of the chemical boundary is the intersection between

    • the interior of chemboundary, and
    • the interior of the membrane mesh at this index.

    Note: Since the membrane may change its shape often, set_chemboundary! might need to be called often accordingly to update volumes of compartments.

  • mechboundary::MEDYAN.Boundary: mechanical boundary

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

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