示例#1
0
int main()
{
  osh_init();
  struct mesh* m = new_box_mesh(2);
  mesh_derive_model(m, PI / 4);
  mesh_set_rep(m, MESH_FULL);
  char fname[64];
  unsigned it = 0;
  mesh_eval_field(m, 0, "adapt_size", 1, fine_fun);
  { //set mass field to test conservative transfer
    unsigned nelems = mesh_count(m, mesh_dim(m));
    mesh_add_tag(m, mesh_dim(m), TAG_F64, "mass", 1,
        doubles_filled(nelems, 1.0 / nelems));
  }
  while (refine_by_size(m, 0)) {
    sprintf(fname, "ref_%u.vtu", it++);
    write_mesh_vtk(m, fname);
    mesh_free_tag(m, 0, "adapt_size");
    mesh_eval_field(m, 0, "adapt_size", 1, fine_fun);
  }
  double minq = 0.1;
  printf("minq %f\n", minq);
  it = 0;
  mesh_free_tag(m, 0, "adapt_size");
  mesh_eval_field(m, 0, "adapt_size", 1, coarse_fun);
  while (coarsen_by_size(m, minq, 0.5)) {
    printf("%u elements\n", mesh_count(m, mesh_dim(m)));
    sprintf(fname, "cor_%u.vtu", it++);
    write_mesh_vtk(m, fname);
  }
  free_mesh(m);
  osh_fini();
}
示例#2
0
文件: shell.c 项目: sarthakparui/opos
 int osh_command()
 {	int i=0;
	char command[100];
	for(;i<100&&osh_cmd_buff[i]!=' '&&osh_cmd_buff[i]!=13&&osh_cmd_buff[i];++i)
	{	command[i] = osh_cmd_buff[i];	}
	command[i] = 0;
	
	if(streq(command,"clear")==1)
	{
		osh_init();
		
		return 10;
	}
	
	if(streq(command,"help")==1)
	{

		osh_help();

		return 11;

	}

	if(streq(command,"shutdown")==1)
	{
		return 1;

	}

	if(streq(command,"reboot")==1)
	{
		return 2;
	}
	
	if(streq(command,"hello")==1)
	{
			opos_loader();
			return 13;
	}

	return 100; 
 }