Example #1
0
    Vector& ScalarDamageInterface2DLaw::GetValue(const Variable<Vector>& rThisVariable, Vector& rValue)
    {
		if (rThisVariable == INITIAL_STRAIN) {
			if (rValue.size() != m_initial_strain.size())
				rValue.resize(m_initial_strain.size());
			noalias(rValue) = m_initial_strain;
		}
		if(rThisVariable == YIELD_SURFACE_DATA_2D_X || rThisVariable == YIELD_SURFACE_DATA_2D_Y)
		{
			int ijob = rThisVariable == YIELD_SURFACE_DATA_2D_X ? 1 : 2;
			double Ft = 1.0;
			double C0 = 2.0;
			double Fs = std::tan(M_PI / 180 * 30.0);

			SizeType nn = 10;
			if(rValue.size() != nn)
				rValue.resize(nn, false);

			double Ft_d = (1.0 - mD1)*Ft;
			double C0_d = (1.0 - mD2)*C0;

			double x = Ft_d;
			double x_incr = (4.0*Ft+Ft_d) / (double)(nn-1);

			rValue(0) = ijob == 1 ? x : 0.0;

			for(SizeType i = 1; i < nn; i++)
			{
				double y = -x*Fs+C0_d;
				rValue(i) = ijob == 1 ? x : y;
				x -= x_incr;
			}
		}
        return rValue;
    }
    Vector& ConvDiffInterface2DLaw::GetValue(const Variable<Vector>& rThisVariable, Vector& rValue)
    {
		if (rThisVariable == INITIAL_TEMP_GRAD) {
			if (rValue.size() != m_init_gradT.size())
				rValue.resize(m_init_gradT.size());
			noalias(rValue) = m_init_gradT;
		}
		if (rThisVariable == FLUX_RVE) {
			if (rValue.size() != mStressVector.size())
				rValue.resize(mStressVector.size());
			noalias(rValue) = mStressVector;
		}
		if (rThisVariable == HEAT_FLUX_RVE) { //For Output
			if (rValue.size() != 3)
				rValue.resize(3);
			rValue(0) = mStressVector(0); // 1.0e6;//[W/mm^2]
			rValue(1) = mStressVector(1); // 1.0e6;
			rValue(2) = 0.0;
		}
		if (rThisVariable == GAP_INTERFACE) {
			if (rValue.size() != m_gap_interface.size())
				rValue.resize(m_gap_interface.size());
			noalias(rValue) = m_gap_interface;
		}
        return rValue;
    }
Example #3
0
int main (int argc, char *argv[])
{
     
	auto answ = rValue(3);
	std::cout << answ << std::endl; 
    
    Obj *bb = nullptr;//std::nullptr_t;
    Obj *aa = NULL;
    std::cout << bb << std::endl;
    std::cout << aa << std::endl;
    printf("bb-> %p aa-> %p\n", bb,aa);

    return 0;
}
	Vector& ConvDiffAnisotropic2DLaw::GetValue(const Variable<Vector>& rThisVariable, Vector& rValue)
	{
		if (rThisVariable == INITIAL_TEMP_GRAD) {
			if (rValue.size() != m_init_gradT.size())
				rValue.resize(m_init_gradT.size());
			noalias(rValue) = m_init_gradT;
		}
		if (rThisVariable == FLUX_RVE) {
			if (rValue.size() != mStressVector.size())
				rValue.resize(mStressVector.size());
			noalias(rValue) = mStressVector;
		}
		if (rThisVariable == HEAT_FLUX_RVE) { //For Output
			if (rValue.size() != 3)
				rValue.resize(3, false);
			rValue(0) = mStressVector(0); // 1.0e6; //  //[W/mm^2]
			rValue(1) = mStressVector(1); // 1.0e6; // 
			rValue(2) = 0.0;
			//std::stringstream ss;
			//ss << "HEAT_FLUX_RVE = " << rValue << ", " << std::endl;
			//std::cout << ss.str();
		}
		return rValue;
	}
Example #5
0
void moShaderCtrl::ProcessShaderValues() {

    moValue& rValue( m_ValueDescriptor.GetValue() );

    moText shaderstr = moWx2Text( TextCtrlShaderCfg->GetValue() );
    moText shaderdest = moWx2Text( TextCtrlDestination->GetValue() );
    MOfloat alphaval = (float)m_pLevelShaderAlphaCtrl->GetValue() / 100.0;


    if (  shaderdest!=moText("") ||
          shaderstr!=moText("") ) {
        if (rValue.GetSubValueCount()==1) {

            rValue.AddSubValue( shaderstr, "TXT" );
            rValue.AddSubValue( shaderdest, "TXT" );
            rValue.AddSubValue( FloatToStr( alphaval ), "FUNCTION" );

        } else if (rValue.GetSubValueCount()==3) {

            rValue.GetSubValue(1).SetText( shaderstr );
            rValue.GetSubValue(2).SetText( shaderdest );

            //we have a shader: put some alpha in it
            rValue.AddSubValue( FloatToStr( alphaval ), "FUNCTION" );

        } else if (rValue.GetSubValueCount()==4) {
            rValue.GetSubValue(1).SetText( shaderstr );
            rValue.GetSubValue(2).SetText( shaderdest );

            rValue.GetSubValue(3).SetText( FloatToStr( alphaval ) );
            rValue.GetSubValue(3).SetType( MO_VALUE_FUNCTION );

        }
    } else {
        //Eliminate the SubValues after the first one: we do no longer need them
        rValue.RemoveSubValues(true);

    }

    SetValue( m_ValueDescriptor );


}
Example #6
0
File: phy.c Project: BeeeOn/sensors
bool set_chanel_freq_rate (uint8_t channel, uint8_t band,uint8_t bitrate){

  printf("Channel amoutn %d, chanel %d",chanelAmount(band, bitrate),channel);
  if (channel >= chanelAmount(band, bitrate)) {
    //errstate invalid_chanel_freq_rate;
    return false;
  }

  //Program registers R, P, S and Synthesize the RF
   PHY_STORAGE.channel=channel;
   PHY_STORAGE.band=band;
   PHY_STORAGE.bitrate=bitrate;
   
   
   D_PHY printf("Chanel %d band %d bitrate %d\n", channel, band, bitrate);

  set_register(R1CNTREG, rValue());
  set_register(P1CNTREG, pValue(band, channel, bitrate));
  set_register(S1CNTREG, sValue(band, channel, bitrate));
  
  return true;
}
Example #7
0
Vector& PlaneStress::GetValue( const Variable<Vector>& rThisVariable, Vector& rValue )
{
    if ( rThisVariable == STRESSES )
    {
//        const unsigned int size = mCurrentStress.size();
//        rValue.resize(size, false );
//        noalias( rValue ) = mCurrentStress;

        rValue.resize(6, false);
        rValue(0) = mCurrentStress(0);
        rValue(1) = mCurrentStress(1);
        rValue(2) = 0.0;
        rValue(3) = mCurrentStress(2);
        rValue(4) = 0.0;
        rValue(5) = 0.0;
    }
    return rValue;
}