Пример #1
0
    def __init__(self, options=Options(), **kw):

        # Define the default options
        default_options = Options(
            name="Jemmy's Example 1",
            numSegments=3,
            bifurcationPoints=1,
            domainE=Domains(space=[0, 1], time=[0, 1]),
            domainLw=Domains(space=[1, 2], time=[0, 1]),
            domainUp=Domains(space=[1, 3], time=[0, 1]),
            bcDomainE=BoundaryConditions(SealedEnd(), SealedEnd()),
            bcDomainLw=BoundaryConditions(SealedEnd(), SealedEnd()),
            bcDomainUp=BoundaryConditions(SealedEnd(), SealedEnd()),
            solutionE=[],
            solutionLw=[],
            solutionUp=[],
            description="This is the solution for the \
                                                  following problem:\
                                                  Problem being solved is: [0,3]X[0,1]\
                                                  d2u/dx2 = du\dt + u \
                                                  BC:  du/dx(0,t) = du/dx(2,t) = du/dx(3,t) = 0 \
                                                  Initial Conditions:\
                                                  u(x,0) = cos(pi*x)\
                                                  Solution: u = (e^(-(1 + pi^2)*t)*cos(pi*x)"
        )

        # Merge the default options and the user generated options
        whole_options = default_options << options

        super(JemmyEx1, self).__init__(whole_options, **kw)
Пример #2
0
    def __init__(self, options=Options(), **kw):

        # Define the default options
        default_options = Options(
            name="Jemmy's Example 2",
            numSegments=3,
            bifurcationPoints=1,
            segmentsDomain=[
                Domains(space=[0, pi / 2], time=[0, 1]),
                Domains(space=[pi / 2, pi], time=[0, 1]),
                Domains(space=[pi / 2, 3 * (pi / 2)], time=[0, 1])
            ],
            boundaryConditions=[
                BoundaryConditions(SealedEnd(), SealedEnd()),
                BoundaryConditions(SealedEnd(), SealedEnd()),
                BoundaryConditions(SealedEnd(), SealedEnd())
            ],
            description="This is the solution for the \
                                                  following problem:\
                                                  Problem being solved is: [0,3*pi/2]X[0,1]\
                                                  d2u/dx2 = du\dt - 2*u \
                                                  BC:  du/dx(0,t) = -e^t, du/dx(pi,t) = e^t , du/dx(3*pi/2,t) = 0 \
                                                  Initial Conditions:\
                                                  u(x,0) = -sin(x)\
                                                  Solution: u = (e^-t)*sin(x)")

        # Merge the default options and the user generated options
        whole_options = default_options << options

        super(JemmyEx2, self).__init__(whole_options, **kw)
Пример #3
0
from NeuroCore.Models.Base import GeneralModel
from NeuroCore.Models.Conventions import Domains, Steps
from NeuroCore.Approximations.Space.FEM.GalerkinApproximation import GalerkinApproximation
from NeuroCore.Approximations.Time.BackwardEuler import BackwardEuler
from NeuroCore.Models.Conditions.BCs import BoundaryConditions
from NeuroCore.Models.Conditions.Dirichlets import KilledEnd
from Analytics.Solutions.Validations.Transient import ValidationWithF
from Plotting.Simulation import Simulation
from Plotting.IDataPlot import IDataPlot
from numpy import arange

########################################
###      Simulation Variable         ###
########################################

simDomain = Domains(space=[0, 1], time=[0, 10])
simSteps = Steps(space=0.1, time=0.1)

diffusionValue = 1
reactionValue = 1
kValue = 1

boundaryConditions = BoundaryConditions(KilledEnd(), KilledEnd())

sElements = arange(0, simDomain.space[-1] + simSteps.space,\
                                simSteps.space)

########################################
###      Setting the Simulation      ###
########################################
Пример #4
0
import numpy
import math
import time

########################################
###      Simulation Variable         ###
########################################

length = 1
T = 10

delta_x = 0.1
delta_t = 0.1

simDomain = Domains(time=[0,T],space=[0,length])
simSteps = Steps(time=delta_t,space=delta_x)

spatial_elements = numpy.arange(0, simDomain.space[-1] + simSteps.space,\
                                simSteps.space)

time_elements = numpy.arange(0, simDomain.time[-1] + simSteps.time, simSteps.time)


V_0 = []

def u0(x):
   return math.sin(2*math.pi*x)

for x in spatial_elements:
   V_0.append(u0(x))
Пример #5
0
from NeuroCore.Models.Conventions import Domains, Steps
from NeuroCore.Approximations.Space.FEM.GalerkinApproximation import GalerkinApproximation
#from Approximations.Time.BackwardEuler import BackwardEuler
from NeuroCore.Models.Conditions.BCs import BoundaryConditions
from NeuroCore.Models.Conditions.Dirichlets import KilledEnd
from math import pi, pow, sin

import numpy
import math
import time

########################################
###      Simulation Variable         ###
########################################

simDomain = Domains(time=[0, 10], space=[0, 1])
simSteps = Steps(time=0.1, space=0.1)

spatial_elements = numpy.arange(0, simDomain.space[-1] + simSteps.space,\
                                simSteps.space)

time_elements = numpy.arange(0, simDomain.time[-1] + simSteps.time,
                             simSteps.time)

V_0 = []


def u0(x):
    return math.sin(2 * math.pi * x)

Пример #6
0
from Analytics.Solutions.Validations.Stationary import ValidationWithF
from NeuroCore.Approximations.Space.FEM.GalerkinApproximation import GalerkinApproximation
from NeuroCore.Models.Conditions.BCs import BoundaryConditions
from NeuroCore.Models.Conditions.Neumanns import SealedEnd
from NeuroCore.Models.Conventions import Domains, Steps
from NeuroCore.Models.GeneralModel import GeneralModel
from NeuroCore.Neuron.Segment.Base import ISegment
from Plotting.IDataPlot import IDataPlot
from Plotting.IDataPlots import IDataPlots
from Plotting.Simulation import Simulation

########################################
###      Simulation Variable         ###
########################################

simDomain = Domains(space=[0, 12])
simSteps = Steps(space=0.01)

diffusionValue = 100
reactionValue = 10

boundaryConditions = BoundaryConditions(SealedEnd(), SealedEnd())

sElements = numpy.arange(0, simDomain.space[-1] + simSteps.space, \
                         simSteps.space)

########################################
###      Setting the Simulation      ###
########################################

analytical = ValidationWithF(domain=simDomain, steps=simSteps, \