Example #1
0
        public ISimulation CreateWithCalculationMethodsFrom(ISimulation templateSimulation, IEnumerable <CalculationMethodWithCompoundName> combination)
        {
            var simulation    = templateSimulation.DowncastTo <IndividualSimulation>();
            var newSimulation = createModelLessSimulationBasedOn(simulation);

            combination.GroupBy(x => x.CompoundName).Each(grouping =>
            {
                replaceCalculationMethodsWithNewCalculationMethods(grouping, newSimulation.CompoundPropertiesFor(grouping.Key));
            });

            _simulationModelCreator.CreateModelFor(newSimulation);

            return(newSimulation);
        }
Example #2
0
        private async Task <ModelSimulation> createSimulationFrom(SnapshotSimulation snapshot, PKSimProject project)
        {
            var simulation = await createModelLessSimulationFrom(snapshot, project);

            _simulationModelCreator.CreateModelFor(simulation);
            return(simulation);
        }
        private async Task <ModelSimulation> createSimulationFrom(SnapshotSimulation snapshot, SnapshotContext snapshotContext)
        {
            var simulation = await createModelLessSimulationFrom(snapshot, snapshotContext);

            _simulationModelCreator.CreateModelFor(simulation);
            return(simulation);
        }
Example #4
0
        public void AddModelToSimulation(Model.Simulation simulation)
        {
            _simulationModelCreator.CreateModelFor(simulation);

            simulation.Solver.Parameter(Constants.Parameters.ABS_TOL).Value = CoreConstants.DEFAULT_ABS_TOL;
            simulation.Solver.Parameter(Constants.Parameters.REL_TOL).Value = CoreConstants.DEFAULT_REL_TOL;

            _registrationTask.Register(simulation);
        }
Example #5
0
        private Task <IndividualSimulation> createNewSimulationBasedOn(IndividualSimulation individualSimulation, IPKSimProject project)
        {
            return(Task.Run(() =>
            {
                var otherSimulation = _executionContext.Clone(individualSimulation);
                var individual = allTemplateBuildingBlocksFor <Individual>(otherSimulation, project).First();
                var compounds = allTemplateBuildingBlocksFor <Compound>(otherSimulation, project);
                otherSimulation = _simulationFactory.CreateFrom(individual, compounds, otherSimulation.ModelProperties, otherSimulation)
                                  .DowncastTo <IndividualSimulation>();

                _simulationModelCreator.CreateModelFor(otherSimulation);
                _executionContext.Register(otherSimulation);

                return otherSimulation;
            }));
        }