<?xml version="1.0" encoding="UTF-8"?>
<model xmlns="http://www.cellml.org/cellml/1.1#" xmlns:cmeta="http://www.cellml.org/metadata/1.0#"
	xmlns:cellml="http://www.cellml.org/cellml/1.1#" cmeta:id="riceCalciumTransient"
	name="rice_cai">

	<units name="millisecond">
		<unit units="second" prefix="milli" />
	</units>
	<units name="micromolar">
		<unit units="mole" prefix="micro" />
		<unit units="litre" exponent="-1" />
	</units>
    <units name="mV">
      <unit prefix="milli" units="volt"/>
   </units>
    
    <import xlink:href="../Rogers/experiments/multiple-stimulus.xml" xmlns:xlink="http://www.w3.org/1999/xlink">
    	<component name="AP" component_ref="interface"/>
	</import>
    
    <group>
      <relationship_ref relationship="encapsulation"/>
       <component_ref component="interface">
         <component_ref component="AP"/>
      </component_ref>
   </group>
   
	<component name="interface">
        <variable units="mV" name="Vm" private_interface="in" public_interface="out"/>
		<variable name="time" public_interface="in"
			private_interface="out" units="millisecond" />
       <variable name="iteration_time" public_interface="out"
			private_interface="in" units="millisecond" /> <!-- cycle/ local time -->
		<variable name="tstart" public_interface="in"
			private_interface="out" units="millisecond" />
		<variable name="Tau1" public_interface="in" 
			private_interface="out" units="millisecond" /> <!--time constant - the smaller the wider -->
		<variable name="Tau2" public_interface="in"
			private_interface="out" units="millisecond" /> <!--time constant -->
        <variable name="Tau3" public_interface="in"
			private_interface="out" units="millisecond" /> <!--time constant -->
            
        <variable name="Ca_dia" public_interface="in"
			private_interface="out" units="micromolar" /> <!-- diastolic Ca2+ -->
        <variable name="a1" public_interface="in"
			private_interface="out" units="dimensionless" /> <!-- amplitude -->
        <variable name="b" public_interface="in"
			private_interface="out" units="millisecond" /> <!-- time point for connecting the 1st and 2nd functions -->    
        <variable name="k1" public_interface="in"
			private_interface="out" units="dimensionless" /> <!-- symmetry - the larger the more symmetric -->
        <variable name="c" public_interface="in"
			private_interface="out" units="millisecond" /> <!-- time point for connecting the 2nd and 3rd functions -->    

           

            
		<variable name="Cai" public_interface="out"
			private_interface="in" units="micromolar" />
        <variable name="t" public_interface="out"
			private_interface="in" units="millisecond" /> <!-- iteration_time - tstart -->
	</component>
	
	<connection>
		<map_components component_1="interface" component_2="transient"/>
		<map_variables variable_1="time" variable_2="time"/>
        <map_variables variable_1="iteration_time" variable_2="iteration_time"/>
		<map_variables variable_1="tstart" variable_2="tstart"/>
		<map_variables variable_1="Tau1" variable_2="Tau1"/>
		<map_variables variable_1="Tau2" variable_2="Tau2"/>
		<map_variables variable_1="Tau3" variable_2="Tau3"/>
        <map_variables variable_1="Ca_dia" variable_2="Ca_dia"/>
        <map_variables variable_1="a1" variable_2="a1"/>
        <map_variables variable_1="b" variable_2="b"/>
        <map_variables variable_1="k1" variable_2="k1"/>
        <map_variables variable_1="c" variable_2="c"/>
		<map_variables variable_1="Cai" variable_2="Cai"/>
        <map_variables variable_1="t" variable_2="t"/>
	</connection>

	<component name="transient">
        <variable name="iteration_time" public_interface="out" initial_value="0" units="millisecond" />
		<variable name="time" public_interface="in" units="millisecond" />
		<variable name="tstart" public_interface="in" units="millisecond" />
		<variable name="Tau1" public_interface="in" units="millisecond" />
		<variable name="Tau2" public_interface="in" units="millisecond" />
        <variable name="Tau3" public_interface="in" units="millisecond" />
        <variable name="Ca_dia" public_interface="in" units="micromolar" />
        <variable name="a1" public_interface="in" units="dimensionless" />
        <variable name="b" public_interface="in" units="millisecond" />
        <variable name="k1" public_interface="in" units="dimensionless" />
        <variable name="a2" units="dimensionless" />
        <variable name="c" public_interface="in" units="millisecond" />
        <variable name="a3" units="dimensionless" />
		<variable name="Cai" public_interface="out" units="micromolar" />
		<variable name="t" public_interface="out" initial_value="0" units="millisecond" />
		<math xmlns="http://www.w3.org/1998/Math/MathML">
             <apply><eq/>
                <ci>a2</ci>
							<apply><times/>
										<ci>a1</ci>
                                        <apply><power/>
                                            <ci>b</ci>
                                            <apply><minus/>
                                                <ci>k1</ci>
                                                <cn cellml:units="dimensionless">1.0</cn>
                                            </apply>
                                        </apply>
									<apply><exp/>
										<apply><divide/>
											<apply><times/>
												<cn cellml:units="dimensionless">-1.0</cn>
												<ci>b</ci>
											</apply>
											<ci>Tau1</ci>
										</apply>
									</apply>
							</apply>
             </apply>
             
             <apply><eq/>
                <ci>a3</ci>
							<apply><times/>
										<ci>a2</ci>
									<apply><exp/>
										<apply><divide/>
											<apply><times/>
												<cn cellml:units="dimensionless">-1.0</cn>
                                                <apply><minus/>
												<ci>c</ci>
                                                <ci>b</ci>
                                                </apply>
											</apply>
											<ci>Tau2</ci>
										</apply>
									</apply>
							</apply>
             </apply>
             
             <apply><eq/>
				<ci>Cai</ci>
				<piecewise>
                
					<piece>
						<ci>Ca_dia</ci>
						<apply><lt/>
							<ci>iteration_time</ci>
							<ci>tstart</ci>
						</apply>
					</piece>
                    
					<piece>
						<apply><plus/>
							<apply><times/>
										<ci>a1</ci>
                                        <apply><power/>
                                            <ci>t</ci>
                                            <apply><minus/>
                                                <ci>k1</ci>
                                                <cn cellml:units="dimensionless">1.0</cn>
                                            </apply>
                                        </apply>
									<apply><exp/>
										<apply><divide/>
											<apply><times/>
												<cn cellml:units="dimensionless">-1.0</cn>
												<ci>t</ci>
											</apply>
											<ci>Tau1</ci>
										</apply>
									</apply>
							</apply>
							<ci>Ca_dia</ci>
						</apply>
                        
                        <apply>
                            <and/>
                            <apply>
                                <gt/>
                                <ci>iteration_time</ci>
                                <ci>tstart</ci>
                            </apply>
                            <apply>
                                <leq/>
                                <ci>iteration_time</ci>
                                <apply><plus/>
                                <ci>b</ci>
                                <ci>tstart</ci>
                                </apply>
                            </apply>
                        </apply>
					</piece>
                    
                    <piece>
						<apply><plus/>
							<apply><times/>
										<ci>a2</ci>
									<apply><exp/>
										<apply><divide/>
											<apply><times/>
												<cn cellml:units="dimensionless">-1.0</cn>
                                                <apply><minus/>
												<ci>t</ci>
                                                <ci>b</ci>
                                                </apply>
											</apply>
											<ci>Tau2</ci>
										</apply>
									</apply>
							</apply>
							<ci>Ca_dia</ci>
						</apply>
                        
                        <apply>
                            <and/>
                            <apply>
                                <gt/>
                                <ci>iteration_time</ci>
                                <apply><plus/>
                                    <ci>b</ci>
                                    <ci>tstart</ci>
                                </apply>
                            </apply>
                            <apply>
                                <leq/>
                                <ci>iteration_time</ci>
                                <apply><plus/>
                                <ci>c</ci>
                                <ci>tstart</ci>
                                </apply>
                            </apply>
                        </apply>
					</piece>
                    
                    <piece>
						<apply><plus/>
							<apply><times/>
										<ci>a3</ci>
									<apply><exp/>
										<apply><divide/>
											<apply><times/>
												<cn cellml:units="dimensionless">-1.0</cn>
                                                <apply><minus/>
												<ci>t</ci>
                                                <ci>c</ci>
                                                </apply>
											</apply>
											<ci>Tau3</ci>
										</apply>
									</apply>
							</apply>
							<ci>Ca_dia</ci>
						</apply>
                        
                        
                            <apply>
                                <gt/>
                                <ci>iteration_time</ci>
                                <apply><plus/>
                                    <ci>c</ci>
                                    <ci>tstart</ci>
                                </apply>
                            </apply>
                        
					</piece>
                    
				</piecewise>
			</apply>    
		</math>
	</component>

	<group>
		<relationship_ref relationship="encapsulation" />
		<component_ref component="interface">
			<component_ref component="transient" />
		</component_ref>
	</group>
    
   <connection>
	  <map_components component_1="AP" component_2="interface"/>
	  <map_variables variable_1="time" variable_2="time"/>
      <map_variables variable_1="Vm" variable_2="Vm"/>
   </connection>
</model>